我创建了一个非常小的代码,将两个整数相加并将结果保存到汇编语言和c语言的另一个变量中。汇编中的代码花了我617字节,但C中的代码花了25,000字节!为什么会有巨大的差异?
另外,如何查看我编写的C代码的汇编符号指令?
最佳答案
高级语言具有一定的开销。在组装时,您所拥有的就是您所说的。
在这种情况下,您看到的开销很可能是标准组件(例如printf
)的静态绑定。可能在include语句中添加了这些内容。
如果您想查看输出结果,则需要一个反汇编程序。 Here是NASM反汇编器的文档,如果您想看一看的话。
您可以通过不包含任何内容来避免一些开销,而可以通过类似于组装时的方式来实现功能。
关于c - 可执行文件的大小?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5535188/