Linux下GCC编译工具集和ELF文件格式简介

这篇博客介绍了Linux环境下GCC编译工具集的使用,包括简单编译、多文件编译、错误检查和库文件链接。同时,文章详细探讨了ELF文件格式,解析了ELF文件的段和反汇编过程,为理解Linux程序的编译和执行提供了深入的见解。
摘要由CSDN通过智能技术生成

Linux下GCC编译工具集和ELF文件格式简介

1 Linux GCC 简介

GCC 的意思也只是GNU C Compiler 而已。经过了这么多年的发展,GCC 已经不仅仅能支持C 语言;它现在还支持Ada语言、C++ 语言、Java 语言、Objective C 语言、Pascal 语言、COBOL语言,以及支持函数式编程和逻辑编程的Mercury 语言,等等。
而GCC 也不再单只是GNU C 语 言编译器的意思了,而是变成了GNU Compiler Collection 也即是GNU 编译器家族的意思了。另 一方面,说到GCC对于操作系统平台及硬件平台支持,概括起来就是一句话:无所不在。

2 简单编译

2.1 编写程序

创建文件夹保存文件:

mkdir test4
cd test4

打开vim编写程序:

vim test.c

源代码:

//test.c
#include <stdio.h>
int main(void)
{
   
printf("Hello World!\n");
return 0;
}

如要修改,则输入:

vim -r test.c

编写完成后,按ESC输入 :wq保存并关闭。

2.2 编译运行

2.2.1 编译的命令

编译源代码:

gcc test.c -o test

2.2.2 编译的过程

实质上,上述编译过程是分为四个阶段进行的,即预处理(也称预编译,Preprocessing)、编译
(Compilation)、汇编(Assembly)和连接(Linking)。

代码如下:

gcc -E test.c -o test.i 或gcc -E test.c //预处理
gcc -S test.i -o test.s  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值