首页 > 开发 > linux > 正文

gcc -o 编译问题的解释

2017-07-12 18:21:49  来源:慕课网

-c和-o都是gcc编译器的可选参数

-c表示只编译(compile)源文件但不链接,会把.c或.cc的c源程序编译成目标文件,一般是.o文件。

-o用于指定输出(out)文件名。不用-o的话,一般会在当前文件夹下生成默认的a.out文件作为可执行程序。

例如

gcc -c test.c将生成test.o的目标文件

gcc -o app test.c将生成可执行程序app(gcc -o app.out test.c生成app.out),其实此操作和gcc test.c -o app 是一样的。

gcc -c a.c -o a.o表示把源文件a.c编译成指定文件名a.o的中间目标文件(其
实在这里,你把-o a.o省掉,效果是一样的,因为中间文件默认与源文件同名,只是后缀变化)。