终端:编辑应用程序


任何一个应用程序编译步骤:(及 终端操作)
<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.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图标

“Atom”图标


abc.i文件

abc.c文件:进行代码编辑(添加一句打印语句)



abc.c文件编辑好之后:

  • 1.进入“abc文件夹GYHdeMacBook-Pro:~ gyh $ cd abc

  • 2.预编译GYHdeMacBook-Pro:abc gyh $ gcc -E -o abc.i abc.c

abc.i文件 也多出该打印语句:

  • 3.链接
    GYHdeMacBook-Pro:abc gyh $ gcc -o abc abc.c
  • 4.运行
    GYHdeMacBook-Pro:abc gyh $ ./abc

结果:








goyohol's essay

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容