考虑以下c / c ++代码:
int main () {
int a = 1;
int b = 2;
int c = a + b;
}
当我在Windows上使用g ++ (MinGW-W64项目)进行编译时,.exe文件最终为53KB
但是,当我在Ubuntu上使用g ++进行编译时,.out文件最终只有8KB
为什么两个输出文件之间的大小差异如此之大?
可执行文件不仅包含编译的代码,还包含其他信息,这些信息在不同的可执行文件格式之间会有所不同。
如果对显示的代码进行了优化,则将完全被优化,即使不进行优化,给定的代码也只会导致少量字节的机器代码。因此,对于您的程序,〜53KB和〜8KB是可执行文件的元信息的大小。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句