编译器cc的使用

编辑器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 生成调试信息 调试程序
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • [编译原理 (预处理>编译>汇编>链接)(转)](http://www.cnblogs.com/pipicfan/...
    wangchuang2017阅读 2,016评论 0 3
  • GCC编译器 GCC是一个交叉平台的编译器,我想大家并不会觉得陌生。C/C++开发的时候很多时候都会用到GCC来进...
    故事狗阅读 9,575评论 0 25
  • 岁晚门庭野菊新,疏帘半卷竹相邻。 书垂每忘名何用,酒缺方知未惯贫。 弈路虽寻终不解,弦音难复但留尘。 江寒月色萧萧...
    圓月阅读 195评论 2 4
  • 新疆好大好大啊,去过那的人都鼓捣说,不到新疆真不晓得咱们国家有多大。 怎么样个大法呢?脑子里是仍是一片浓雾...
    乔桥阅读 689评论 3 2
  • 距离已走远,何必互相望。 我是在初中的时候认识小A的,那时候初中的生活,每天都感觉特别的富裕,早上优哉游哉的来到...
    DistanceAlan阅读 452评论 0 3

友情链接更多精彩内容