mian.o 和main.out有什么区别?
mian.o 和main.out有什么区别?out不可覆盖那个.o可以覆盖不?比如:gcc XXXX.c XXX.c .o这个类似的代码能成立吗?当然XXXX和XXX是可以执行的
mian.o 和main.out有什么区别?out不可覆盖那个.o可以覆盖不?比如:gcc XXXX.c XXX.c .o这个类似的代码能成立吗?当然XXXX和XXX是可以执行的
2015-11-16
.o 是编译器生成的“object文件”(大概叫目标文件)
.out 应该就是可执行文件。
C代码要经过“编译”和“链接”才能执行,单纯地编译就是生成 .o文件 ,把(单个或多个).o文件(还有各种库)链接起来才能形成可执行文件。
gcc xxx.c 会将xxx.c编译链接生成一个叫a.out的可执行文件。
gcc xxx.c -o yyy 会把xxx.c编译链接生成名为yyy的可执行文件, -o 参数可以指定输出的文件名(不指定就是上面的a.out)
gcc -c xxx.c 会将xxx.c编译成xxx.o
gcc xxx.o yyy.o zzz.o 会把这几个.o文件链接起来形成可执行文件(你也可以直接调用链接器ld来链接它们)
举报