如何减少C语言中文本代码的大小?

时间:2014-06-20 12:36:52

标签: c

我正在尝试减少C(gcc)中文本的大小

当我输入size命令时,文本大小为4096。 enter image description here

程序很简单

enter image description here

然后,当我删除换行符和初始化时,

enter image description here

结果与之前相同。

我的意思是文字大小仍为4096

enter image description here

如何减小文本大小?

3 个答案:

答案 0 :(得分:2)

__TEXT段是您实际编译的代码所在的位置,与源代码文件的大小无直接关系。

  • 控制代码大小的最重要方法属于设计 - 正确设计程序,避免冗余逻辑。
  • 组合变量定义和初始化的微优化无意义,编译器无论如何都会做得更好。
  • 编译器有不同的优化选项,通常在速度提升和代码大小改进之间存在差异。设置最小代码大小的优化级别。

答案 1 :(得分:0)

__TEXT表示程序的Text/Code Segment。它包含程序的可执行指令。 4096是该段的大小,而不是源文件中文本的大小。

答案 2 :(得分:0)

更改不会减小exe文件大小的原因是,在编译过程中,预处理器将处理空白。如果您想了解更多信息,请研究编译过程。