Linux 网络编程第一弹 --GCC

前言
我用的环境是直接在跑深度学习的 AutoDL 服务器上,通过 VSCode SSH 远程登录。

大家如果通过虚拟机 (VM) 登录的话,可以自行搜索相关的环境搭建教程。

超级推荐使用 VSCode,非常方便且高效!

🛠️ 1. GCC 调试

GCC 编译器的使用是将代码文件编译和汇编为可执行程序的过程。相信大家对这个过程已经耳熟能详了,下面我将通过 GCC/G++ 带大家一步步探索这个过程。

在这里插入图片描述

这是一些提示:

在这里插入图片描述

在这里插入图片描述

✨ 编写简单的 C 语言程序

首先,我们编写一个简单的 C 语言程序:

#include <stdio.h>
#define PI 3.14
int main() {
    // 这是我的代码注释
    int e = PI * 2;
    printf("first linux\n");
    return 0;
}

如果直接使用以下命令编译:

gcc test.c -o test

就会生成 test 的可执行文件:

在这里插入图片描述

🔍 步骤一:预处理

我们可以一步一步来观察这个过程,从预处理开始:

gcc test.c -E -o test.i

在这里插入图片描述

这个命令会生成预处理后的 test.i 文件。打开该文件:

在这里插入图片描述

在这里插入图片描述

💡 提示:只展示了开头和结尾部分。通过预处理,预处理器把我们的头文件包含的代码都加进来了,宏定义也被替换了,同时消除了注释。

🔍 步骤二:编译

接下来进行编译,将预处理文件转换为汇编代码:

gcc test.i -S -o test.s

在这里插入图片描述

生成了 test.s 文件,它是汇编代码文件。

在这里插入图片描述

🔍 步骤三:汇编

将汇编文件转换为目标文件(机器代码):

gcc test.s -c -o test.o

在这里插入图片描述

test.o 就是通过汇编器生成的二进制目标文件。

在这里插入图片描述

🔍 步骤四:链接

最后一步,将目标文件链接生成可执行文件:

gcc test.o -o test

在这里插入图片描述

如图所示,生成了 test 的可执行文件。当然,你也可以直接使用以下命令一步到位:

gcc test.c -o test

通过这个过程,我们展示了 GCC 编译、汇编和链接的完整过程:

在这里插入图片描述


希望这篇文章能帮助你更好地理解 GCC 编译器的工作原理,从预处理到汇编再到最终生成可执行文件的每一个环节。如果你对这些步骤有任何疑问,欢迎在评论区留言讨论!🚀

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

秋到亦天凉

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值