在linux环境实践,使用vim编写一个程序,然后使用gcc查看【预处理】、【编译】、【汇编】、【链接】各阶段文件的内容。并熟悉相关指令。
初用Linux,安装了cent os 6.5
惊奇
这世界上竟然有如此装X的系统
把终端的背景调成黑色字体调成绿色,感觉自己就是这个世界上最牛逼的人
先来说一下终端里最最最简单的命令
ls
(英文全名list)列出当前文件夹的所有文件)
cd
(英文全名change directory )更改(切换)目录
mkdir
(英文全名make directory )创建目录(文件夹)
rm
(英文全名remove) 删除文件(-f)
例如 删除一个a.out文件,指令为rm -f a.out。
mv
(英文全名move) 移动文件
touch
(英文全名touch) //创建文件
pwd
(英文全名print work directory)打印当前工作目录
下面,让我们用vim编辑器写一个简单的hello world吧
在终端中先输入 vim test.c
然后摁i进入编辑插入模式
就像在vc6.0中写c语言程序那样,直接写入我们的代码
如下图
此时按键盘(Esc)进入普通模式
此时按键盘‘:’键进入命令模式,后按‘wq’保存并退出。
输入gcc test.c编译,按下ls此时会有两个文件test.c 和 a.out都一样,
然后接./a.out链接,就会出现“hello world !”了
编译
分为三个预处理(也叫预编译),编译,汇编
预处理test.c
gcc -E test.c
作用:1头文件包含(以#开头的为预处理指令)
2注释删除
3#define定义符号的替换
编译
gcc -S test.i
作用:1把源代码编程汇编代码
2进行语法检测(分析),词法分析,语义分析,符号汇总
汇编
gcc -o test.o
作用:把汇编代码转换成二进制指令,形成符号表
链接
生成最终文件