目次
1.gcc的安装(以Ubuntu为例) sudo apt-get install build-essential
安装完后可以通过 gcc --version 检察版本。
让我们在通过gcc编译可实验文件的过程中把握其根本应用。
准备: 先在当前目次下 利用vim新建一个.c文件 比方 666.c
复制代码 (vim的利用可在我的另一篇博客有详细的叙述,这里不多在赘述)
插入一段代码。- #include <stdio.h>
- main()
- {
- int a,i;
- a=6;
- for(i=0;i<3;i++)
- {
- printf("%d",a);
- }
- }
复制代码
(每次我们用 cat 检察)
一.预处理
1.预处理通过对宏定义(像#define)举行展开,对头文件(像 stdio.h)举行展开,对条件举行(像ifdef)编译,展开全部宏,删除全部注释(像"//").预处理cpp把源代码,头文件预编成一个.i文件。(注意这时并不查抄语法,所以纵然有语法错误也不会报错。)
2.命令:- $ gcc -E (源文件名) -o (预处理文件名)
复制代码
大概:复制代码 比方按666.c 来说,预处理时可以是 :
gcc -E 666.c -o 666.i
也可以是 gcc 666.c > 666.i
二. 编译
1.编译也就是查抄语法是否错误,将预处理过的文件编译成汇编文件。
2.命令:复制代码 比方 gcc -S 666.i -o 666.s
三.汇编
1. 汇编也就是将汇编文件生成目的文件(二进制文件)通过汇编,文本代码变成了二进制代码。(二进制代码文件以.o为后缀名)。
2.命令:- $ gcc -c (汇编文件) -o (目标文件)
复制代码
比方 gcc -c 666.s -o 666.o
(这时间由于是二进制文件了,所以会乱码)
四.链接
1. 链接找到依赖的库文件(静态与动态),将目的文件链接为可实验步调。- $ gcc -c [目标文件] -o [可执行程序] -l[动态库名]
复制代码
假如没有动态库的话(一样平常)
直接- $ gcc -c [目标文件] -o [可执行程序]
复制代码
比方 gcc -c 666.o -o 666
此时会生成可实验步调 666
假如想实验利用该命令:复制代码 其中./是在当前目次下的意思。
比方 ./666
(注意:在一样平常我们利用时 假如利用 gcc 可实验文件名,会默认生成a.out 可实验文件,这时我们直接实验它时用 ./a.out )
到此这篇关于Linux系统下gcc命令利用详解的文章就先容到这了,更多干系Linux gcc命令内容请搜刮脚本之家从前的文章或继承浏览下面的干系文章希望各人以后多多支持脚本之家! |