GCC通过后缀来区别输入文件的类别。
编译和运行程序:
#gcc hello.c -o hello 编译
#./hello 运行
gcc 最基本的用法:gcc [options] [filenames] options:是编译器所需要的编译选项;filenames :是要编译的文件名;
-o output_filename :确定可执行文件的名称为output_filename。如果不给出这个选项,gcc 就给出预设的可执行文件a.out 。
-c :只编译,不连接成为可执行文件,编译器只是由输入的.c 等源代码文件生成.o为后缀的目标文件。
-g :产生调试工具(GNU的gdb)所必要的符号信息,想要对编译出的程序进行调试,就必须加入这个选项。(所编译的程序变大了,多了调试信息)
-O :对程序进行优化编译、链接,采用这个选项,整个源代码会在编译、链接过程中进行优化处理,这样产生的可执行文件的执行效率可以提高,但是编译、链接的速度就相应的腰慢一些。
-O2 :比-O 更好的优化编译、链接,当然整个编译、链接过程会更慢。
“time ./执行文件”查看文件的执行时间。
-I (大i):-I dirname:将direname 所指的目录加入到程序头文件目录列表中。
-L :-L dirrename :将direname 所指出的目录加入到库文件的列表中。
-static :静态链接库文件。库有静态与动态两种,动态通常使用.so为后缀,静态用.a为后缀。
-Wall :生成所有的警告信息。
-w :不生成警告信息。
-DMACRO : 定义MACRO宏,等效于在程序中使用#define MACRO