Linux 编译的一些概念

声明:所有文章只作为学习笔记用,转载非原创

Linux 程序编译过程  https://blog.csdn.net/Sophisticated_/article/details/82796129

编译过程 https://www.cnblogs.com/mumutoday/p/9941845.html

Linux C 语言之 Hello World 详解 https://www.cnblogs.com/chiang-tech/p/9645001.html

1. 安装好gcc

2. touch/vim helloworld.c

#include<stdio.h>

void main () {

  printf("Hello World\n");

}

3.  gcc -Wall HelloWorld.c 或者gcc -o helloworld helloworld.c

在使用gcc编程时,没有指定输入可执行文件名,默认生成可执行文件a.out文件。执行时必须键入命令 ./a.out,即要带上扩展名,如果键入./a 则不正确,因为它寻找a这个文件,而不是a.out这个文件。

可以使用 gcc -Wall HelloWorld.c -o helloword


      1. 预处理 :

          $gcc -E hello.c-o hello.i    // 将源文件hello.c文件预处理生成hello // GCC的选项-E使GCC在进行完预处理后即停止 

      2. 编译

          $gcc -S hello.i -o hello.s     // 将预处理生成的hello.i文件编译生成汇编程序hello.s

                                                    // GCC的选项-S使GCC在执行完编译后停止,生成汇编程序


      3. 汇编

          汇编过程调用对汇编代码进行处理,生成处理器能识别的指令,保存在后缀为.o的目标文件中。

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

推荐阅读更多精彩内容