前言:GCC相关,讲述如何在Linux上编译运行一个.c文件
GCC:GNU Complier Collection,即由GNU项目组开发的语言编译器集合,其中包含有C语言编译器。
Linux中查看GCC情况:指令gcc -v
用GCC编译C源文件并输出:指令gcc -o A B.c,其中B.c为待编译的c源文件,编译后的结果输出到文件A,A如果没有则会自动创建文件A。注意:文件A不用加任何后缀,就单纯的文件名就行;文件B要加后缀.c,因为GCC是很多语言的编译器集合,需要用.c来识别所要编译的源文件是c语言源文件;-o A作为一个整个,中间不能加任何东西,这可以有助于我们快速找到输出文件。B.c的位置可以在-o A的前面,也可以在后面。
Linux系统中运行可执行文件的方法:指令 ./A,其中文件A是上一步经过 gcc -o 所得到的的输出文件。比如在B.c里写一个hello world程序,编译输出到A,执行A后就会在命令行里看到hello world。
C语言从源文件到可执行文件的具体流程及相应的Linux指令:
a编译:指令gcc -S -o A.s B.c,将B.c进行编译,汇编语言结果输出到A.s
b汇编:指令gcc -c -o A.o A.s,将A.s进行汇编,二进制结果输出到A.o;也可以直接写gcc -c -o A.o B.c,这样会同时执行编译和汇编两个步骤
c链接:指令gcc -o A A.o;也可以直接写gcc -o A B.c,同时执行上面三个步骤。