gcc后面既有-c又有-o是什么意思?
/question/225555125.html
/question/313935918.htmlspecial head
比如gcc -c a.c -o a.o ,-o不是后面接生成的可执行文件名么
wjlabcwjl 2011-02-15 09:52
最佳答案kgc
8520>might-c和-o都是gcc编译器的可选参数
-c表示只编译(compile)源文件但不链接,会把.c或的c源程序编译成目标文件,一般是.o文件。dry
-o用于指定输出(out)文件名。不用-o的话,一般会在当前文件夹下生成默认的a.out文件作为可执行程序。
complete是什么意思例如
gcc -c test.c将生成test.o的目标文件
gcc -o app test.c将生成可执行程序app
诺拉琼斯好听的歌gcc -c a.c -o a.o表示把源文件a.c编译成指定文件名a.o的中间目标文件(其实在这里,你把-o a.o省掉,效果是一样的,因为中间文件默认与源文件同名,只是后缀变化)。英语六级多少分过
-g为了调试用的
加个-g 是为了gdb 用,不然gdb用不到
-o output_filename,确定输出文件的名称为output_filename,同时这个名称不能和源文件同名。如果不给出这个选项,gcc就给出预设的可执行文件a.out。
一般语法:
gcc filename.c -o filenametruthful
all star
上面的意思是如果你不打 -o filename 那么默认就是输出filemame.out.这个-o就是用来控制输出文件的。
问:
"-c 只编译不链接 ", 打上-c就是不产生可执行文件吗?
追答:
产生.o文件,就是obj文件,不产生执行文件