6.78. 关于调试符号
默认情况下,大多数程序和库在编译时都包含调试符号(使用 GCC's -g 选项)。 这意味着在调试包含调试信息的程序或库时,调试器不仅可以提供内存地址,还可以提供例程和变量的名称。
但是,包含这些调试符号会显着扩大程序或库。 以下是这些符号占用空间量的示例:
• 一个 打坏 带调试符号的二进制文件:1200 KB
• 一个 打坏 没有调试符号的二进制文件:480 KB
• Glibc 和 GCC 文件(/ lib目录 和 / usr / lib目录) 带调试符号:87 MB
• 不带调试符号的 Glibc 和 GCC 文件:16 MB
大小可能因使用的编译器和 C 库而异,但在比较有和没有调试符号的程序时,差异通常是 XNUMX 到 XNUMX 之间的一个因素。
因为大多数用户永远不会在他们的系统软件上使用调试器,所以通过删除这些符号可以重新获得大量磁盘空间。 下一节将展示如何从程序和库中去除所有调试符号。