我刚开始卷入与海湾合作委员会。
比方说我们通过VIM labaled helloworld.c写入一个文本文件
为什么会游泳(人谁是不是我)与编译
在比较GCC helloworld.c与gcc -c helloworld.c然后gcc的-o的helloWorld helloworld.o?
我刚开始卷入与海湾合作委员会。
比方说我们通过VIM labaled helloworld.c写入一个文本文件
为什么会游泳(人谁是不是我)与编译
在比较GCC helloworld.c与gcc -c helloworld.c然后gcc的-o的helloWorld helloworld.o?
对于一个单一的文件,也没有用。 但是,如果你编译一个较大的项目,你可能不希望重新编译所有的文件,如果你只改变了一个实例。 因而,增益编译时间。
使用中间.o
文件,您可以只重新编译需要重新编译一下,并与所有这些对象文件链接,最终的二进制。
另一个用例是,如果你想使用自定义链接脚本,例如选择你的部分或代码的位置。 然后,你需要从中获取实际的代码.o
文件。
有在编译过程中的一些阶段:
预处理 - >编译 - >装配 - >链接。
阶段:
当您使用gcc [options]
:
如果你使用:
gcc -E
停止后预处理阶段,并为您提供了预处理代码。 gcc -S
编译阶段,并为您汇编代码后停止。 gcc -c
组装阶段后停止,并给你一个目标模块。 gcc -o
为您提供了包含的名称的可执行文件,默认情况下为您提供了a.out
男人GCC HERE