linux下的gcc编译器使用,以Hello World为例子

本文的目的是教会大家如何使用gcc,查了不少的资料才明白编译过程中的具体含义。

1.创建一个c程序源文件

源程序名为1,以.c结尾

输入程序内容并保存

2.预处理

使用ls命令查看该目录下现有的文件,只有1.c。

使用gcc -E命令,进行预处理,1.c为所要编译的源程序文件名,> 后的1.i为预处理后生成的C文件,预处理不对源文件进行分析,而是对源文件进行文本操作,如删除源文件中的注释,在源文件中插入包含文件的内容(#include),定义符号并替换源文件中的符号等(#define),通过这些处理,将会得到编译器实际进行分析的文本,即.i文件。

3.编译

使用gcc -S 1.i进行编译,1.i为之前的预处理后的c文件,系统会生成1.s,这是用汇编语言编写的源代码文件。

可以打开查看(这就是汇编文件)

4.汇编

使用gcc -c 1.s汇编原来的汇编文件1.s,生成1.o,这是就是object, 也就相当于windows下编译的obj文件, 俗称目标文件。

目标文件(objectfile)即存放目标代码的计算机文件,它常被“称作”二进制文件(binaries)。目标文件包含着机器代码(可直接被计算机中央处理器执行)以及代码在运行时使用的数据,如重定位信息,如用于链接或调试的程序符号表(变量和函数的名字),此外还包括其他调试信息。

在Windows中,如下

5.链接

使用gcc 1.0 -o 1命令进行链接,生成了1这个可执行文件(绿色)。

在Windows中如下。

6.执行可执行文件

直接输入./1即可运行,输出hello world。

以上就是在linux环境下运行的所有过程详解,当然gcc的命令格式还有很多,可以使用man gcc命令查看具体的命令的意思。

每次编译过程中也不必这么麻烦。可以直接写gcc 1.c

则会将 1.c 预处理、汇编、编译并链接形成可执行文件。这里未指定输出文件,默认输出为 a.out。然后直接./a.out即可输出。

其他gcc的语法可以点击链接查看gcc

  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值