gcc编译器

本文详细介绍了GNU编译器集合(GCC)的主要特性,包括其可移植性、跨平台编译能力、支持多种编程语言及模块化设计。此外,还阐述了GCC的编译过程,包括预处理、编译、汇编和链接等步骤,并提供了常用编译选项及如何使用GCC编译动态库。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


GCC 原名为 GNU C语言编译器 (GNU C Compiler),因为它原本只能处理 C语言。 GCC很快地扩展,变得可处理 C++。后来又扩展能够支持更多编程语言,所以改名GNU编译器套件 (GNU Compiler Collection)

一、gcc主要特征

  1. gcc是一个可移植的编译器,支持多种硬件平台
  2. gcc不仅仅是个本地编译器,它还可以跨平台交叉编译
  3. gcc是有多种语言前端,用于解析不同的语言
  4. gcc是按模块化设计的,可以加入新语言和新CPU架构的支持
  5. gcc是自由软件

二、gcc编译的过程

gcc编译过程的流程:
gcc编译过程

编译的总过程 gcc hello.c -o app 
1. 预处理  gcc -Wall -E hello.c -o hello.i
2. 编译    gcc -Wall -S hello.i -o hello.s
3. 汇编    gcc -Wall -c hello.s -o hello.o
4. 链接    gcc -Wall -g -o hello

三、gcc常用的编译选项

选项作用生成文件
-o产生目标文件(.i、.s、.o、可执行程序)可执行程序
-c编译源码并在最后生成可执行程序*.o
-E只运行C预编译器*.i
-S生成汇编语言文件后停止编译*.s
-g在目标文件中添加调试信息,以便于gdb之类的调试程序
-Wall使gcc对源文件的代码有问题的地方发出警示
-Idir将目录加入搜索头文件的目录路径
-Ldir将目录加入搜索库的目录路径

四、gcc编译动态库

参看此篇文章:
https://blog.youkuaiyun.com/qq_43630810/article/details/105696429

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值