欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

编译器cc的使用

程序员文章站 2024-02-18 12:07:40
...

编辑器gcc 是GNU Compiler Collection,原名为Gun C语言编译器,因为它原本只能处理C语言,但gcc很快地扩展,包含很多编译器(C、C++、Objective-C、Ada、Fortran、 Java),可以说gcc是GNU编译器集合。

1. cc选项

正常编译程序,需要提供源文件、头文件、库文件、目标文件、宏定义和编译选项等至少五大块信息。
1、源文件
以 “.c” 为扩展名,待编译的C程序,就是源文件。它是CC命令的主题,如同上例中的first.c。源文件可以有多个,但是不能同时具有两个以上的main()函数。

2、头文件
除了在当前目录下查找“`#include " "”中的文件外,通知头文件所在目录的方式是使用“- I”选项。

cc -I/usr/include -I ./ first.c

3、库文件
在UNIX中,静态库一般是以lib*.a的形式存在,编译时需要“-L”选项提供静态库查找目录,“-l”选项标识静态库名称。

cc -L/usr/lib -llibcurses.a first.c

或者

cc -L/usr/lib -lcurses first.c

链接命名遵循“lib*.a”规则的静态库时,可以采用缩写“-l*”的模式。

4、目标文件
编译后产生的可执行程序名默认为“a.out”,当需要更改时可选用“-o”选项。

5、宏定义
类似于在代码中使用“define”定义宏,在编译时可以通过“-D”选项直接定义宏。

cc -DUNIX first.c
cc -DDEBUGLOG='"/usr/log/file.log"' first.c

6、编译选项

选项 描述 实践应用
-c 只编译,不链接可执行文件 设计静态库
-O 优化程序 编译发布版产品
-g 生成调试信息 调试程序