Linux C编程1——编程基础GCC

来源:互联网 发布:苹果设置软件信任 编辑:程序博客网 时间:2024/06/09 19:12

GCC编译器能将C、c++和汇编程序编译、链接成可执行文件。

GCC通过后缀来区别输入文件类别:(列举常用几个后缀文件)

.c  C语言源代码文件

.a  由目标文件构成的库文件

.C,.cc或.cpp  C++源代码文件

.h  头文件 

.o  编译后的目标文件

.s  汇编语言源代码文件

.S  经过预编译的汇编语言源代码文件   

GCC基本使用格式:gcc [options] [filenames]

常用options:

-c只对源文件进行编译,不链接生成可执行文件。



从运行图中第一列权限中可以看出,有gcc -c 编译出的文件hello.o是不可执行的文件。那么-c 有什么用呢?

当一个工程由多个.c文件生成可执行文件时。。。

如 fun.c 中调用fun1.c和fun2.c 就可以酱紫啦:


然后

              

结果



可是当源文件有七八个。。。要是这样一个个编译,其中一个文件变化后大哭大哭工程是很巨大的啊,

表担心,makefile指令可是相当强大,继续努力!!!

-o生成最终的可执行文件。假设源文件为hello.c,若忽略该项文件名,生成的可执行文件名默认为a.out,目标文件为hello.o



从上图可以看出有-o编译生成可执行文件hello【右边权限列x代表可执行偷笑

有结果啦。。。大笑大笑



-g在可执行文件中加入调试信息,方便进行程序的调试。



-g有啥用啊?疑问表急,从上图看出什么东东了嘛吐舌头第五列是文件的大小,因为-g指令在可执行文件中红加入了调试信息,所以hello_g文件是要比hello文件大滴。-g生成的可执行文件可是很有用的,在使用gdb进行调试的时候这一步是必须。








0 0