一.复习GCC编译器的用法
1.复习GCC编译器的用法
欲善其工,那么要先利其器。在这个C语言巩固与提高的阶段中,如果想要更好的达成预期目标,首先就要熟练掌握GCC编译器的用法。以下是GCC相关知识:
GCC使用语法
gcc 选项 参数
选项
-o : 指定生成的输出文件
-E : 只进行编译预处理
-S : 讲C代码转化为汇编代码
-c : 只进行编译操作,不进行链接操作
-wall : 显示警告信息
-O : 编译优化
参数
C源文件:就是需要编译的C语言代码文件
实例
有一源文件名为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
将汇编输出文件test.s编译输出test.0文件
无选项链接
gcc test.o -o test
将编译输出文件test.o链接为最终的可执行文件test
从上述例子可以看出,c->d->e->无选项链接这几步操作实现了将C语言源文件编译为最终可执行文件的目的。也就是说,一个C语言源文件需要经过预处理,汇编,编译,链接这四个步骤才能成为最终的可执行文件
上述几个是基本操作,不过若想成为一个合格的C语言码农,你还得知道以下几点:
6.选项-O
gcc -O1 test.c -o test
将test.c使用编译级别为1的方式编译为test可执行文件,gcc中级别为1-3,级别越大,程序的优化效果就越好,但相应的编译时间越长。(注:编译选项为大O,而编译选项为小o)
7.多文件编译方法
若工程较大,存在多个.c文件。那么有以下两种编译方法:
假设有两个源文件为test1.c和test2.c
1.多个文件一起打包编译
gcc test1.c test2.c -o test
将两个文件分别编译后,链接为可执行文件test
2.单独编译各个文件,之后将输出的.o文件链接起来
gcc -c test1.c #将test1编译为test1.o
gcc -c test2.c #同上
gcc -o test1.o test2.o -o test #将两个.o文件链接为test可执行文件
注:第一种方式是将所有文件重新编译然后链接,而第二种方式可以有所选择,可以针对性的编译有修改的文件,无修改的不用编译。
最新文章
- 四、Handler(WSGIHandler)
- Populating Next Right Pointers in Each Node
- JavaEE web.xml 中ContextLoaderListener的解析
- android Mvp简单实用
- w3chtml页面和css书写规范
- 利用matplotlib库和numpy库画数学图形
- 内置函数&;匿名函数
- PC装MAC(VM虚拟机)想体验苹果系统的福利
- python入门学习:4.if语句
- (转)EOSIO开发(四)- nodeos、keosd与cleos
- SpringBoot配置文件的加载位置
- GDB 调试 ---转 比较全的东东
- 【转】Java学习---HashMap的工作原理
- AndroidManifest.xml文件解析(转帖)
- Dos命令的介绍
- POJ 3253 Fence Repair STL 优先队列
- POJ 2301
- notification的创建及应用
- mac 下 python链接mysql
- 在ubuntu 上安装sublime
热门文章
- fopen与读写的标识r,r+,rb+,rt+,w+.....
- 很好用的canvas
- Spring的Bean的生命周期以及Bean的后置处理器
- Linux C 获取 文件的大小
- local unversioned, incoming add upon update问题
- Mongodb系列文章
- Writing a Discard Server 写个抛弃服务器 世上最简单的协议
- 安装和使用PhantomJS
- django高级应用(分页功能)
- 剑指Offer——数组中只出现一次的数字