gcc基本用法

来源:互联网 发布:太空堡垒网络剧 编辑:程序博客网 时间:2024/05/21 18:35
GCC命令提供了非常多的命令选项,但并不是所有都要熟悉,初学时掌握几个常用的就可以了,
到后面再慢慢学习其它选项,免得因选项太多而打击了学习的信心。


一. 常用编译命令选项


假设源程序文件名为test.c。


1. 无选项编译链接
用法:#gcc test.c
作用:将test.c预处理、汇编、编译并链接形成可执行文件。这里未指定输出文件,默认输出为a.out。


2. 选项 -o
用法:#gcc test.c -o test
作用:将test.c预处理、汇编、编译并链接形成可执行文件test。-o选项用来指定输出文件的文件名。


3. 选项 -E
用法:#gcc -E test.c -o test.i
作用:将test.c预处理输出test.i文件。


4. 选项 -S
用法:#gcc -S test.i
作用:将预处理输出文件test.i汇编成test.s文件。


5. 选项 -c
用法:#gcc -c test.s
作用:将汇编输出文件test.s编译输出test.o文件。


6. 无选项链接
用法:#gcc test.o -o test
作用:将编译输出文件test.o链接成最终可执行文件test。


7. 选项-O
用法:#gcc -O1 test.c -o test
作用:使用编译优化级别1编译程序。级别为1~3,级别越大优化效果越好,但编译时间越长。




二. 多源文件的编译方法
最好写在一个makefile文件里面


例:
1.main.c
2.mytool1.c
3.mytool1.h
4.mytool2.c
5.mytool2.h
6.Makefile


main.c 包含 mytool1.h  mytool2.h  这两个头文件


以下是makefile文件的内容:


main:main.o mytool1.o mytool2.o 
gcc -o main main.o mytool1.o mytool2.o 


main.o:main.c mytool1.h mytool2.h
gcc -c main.c 


mytool1.o:mytool1.c mytool1.h 
gcc -c mytool1.c 


mytool2.o:mytool2.c mytool2.h 
gcc -c mytool2.c 
原创粉丝点击