任何一个应用程序的编译步骤:(及 终端操作)
<1>.预编译:预编译器 负责处理 “#”开头的指令。
gcc -E -o xxx.i xxx.c
预编译(-E
) “xxx.c
”文件,输出(-o
)的结果:“xxx.i
”文件。
<2>.汇编 :汇编器 负责将 预编译器处理的结果汇编成 汇编代码。
gcc -S -o xxx.s xxx.i
<3>.编译:编译器 负责将 汇编代码编译成 二进制级别的代码。(语法分析,函数声明)
gcc -c -o xxx.o xxx.s
<4>.链接:链接器 负责将 多个二进制代码和系统库等等 组合成一个完整的二进制应用程序。(检查函数定义)
gcc -o xxx xxx.o
<5>.运行二进制应用程序:
./xxx
终端编辑代码的操作:
(1).创建 文件夹“abc”:
GYHdeMacBook-Pro:~ gyh$ mkdir abc
效果:
在终端中打开 文件夹“abc”:
GYHdeMacBook-Pro:~ gyh$ cd abc
查看文件夹“abc”里面内容:
GYHdeMacBook-Pro:abc gyh $ ls
并没有什么内容。
(2).创建 “abc.c”文件,并对其操作:
GYHdeMacBook-Pro:abc gyh $ vi abc.c
对“abc.c”文件进行操作:(“
:wq
”:保存退出)
在“abc”文件夹里:多出一个“abc.c”文件
(3).对“abc.c”文件进行预编译:
GYHdeMacBook-Pro:abc gyh $ gcc -E -o abc.i abc.c
在“abc”文件夹里:又多出一个“abc.i”文件
(4).打开、查看 “abc.i”文件:
GYHdeMacBook-Pro:abc gyh $ vi abc.i
无需任何操作:(最底部为刚刚编写的代码)
只对“abc.c”文件进行处理
(5).对“abc.c”文件进行链接:
GYHdeMacBook-Pro:abc gyh $ gcc -o abc abc.c
在“abc”文件夹里:多出一个“abc”文件(二进制应用程序)
查看“abc”文件夹里的内容:
GYHdeMacBook-Pro:abc gyh $ ls
输出:
abc abc.c abc.i
(6).运行二进制应用程序:
GYHdeMacBook-Pro:abc gyh $ ./abc
输出:(运行效果)
sum is:8
Circle's Area is:78.539750
Hello,Sir!abc is?????
展示错误展示:
1.打开“abc.c”文件,进行(编辑)处理
GYHdeMacBook-Pro:abc gyh $ vi abc.c
写入错误代码:
2.对“abc.c”文件进行预编译:
GYHdeMacBook-Pro:abc gyh $ gcc -E -o abc.i abc.c
3.对“abc.c”文件进行链接:
GYHdeMacBook-Pro:abc gyh $ gcc -o abc abc.c
报错提示:
“GYHdeMacBook-Pro:abc gyh $ ./abc
”执行的结果:
修改之后
- 1.进行(编辑)处理:
GYHdeMacBook-Pro:abc gyh $ vi abc.c
- 2.预编译:
GYHdeMacBook-Pro:abc gyh $ gcc -E -o abc.i abc.c
- 3.链接:
GYHdeMacBook-Pro:abc gyh $ gcc -o abc abc.c
- 4.运行
GYHdeMacBook-Pro:abc gyh $ ./abc
结果:
Atom编辑代码
“Atom”图标:
“abc.i”文件:
“abc.c”文件:进行代码编辑(添加一句打印语句)
“abc.i”文件 也多出该打印语句:
- 3.链接:
GYHdeMacBook-Pro:abc gyh $ gcc -o abc abc.c
- 4.运行:
GYHdeMacBook-Pro:abc gyh $ ./abc
结果: