GCC-编译源文件

本文详细介绍了GCC编译C/C++程序的过程,包括预处理、编译、汇编和链接四个步骤。讨论了GCC命令选项,如指定输出文件、优化级别、库文件路径、宏定义等,并给出了生成可执行文件和动态、静态库文件的示例。

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

一、编译流程

一个C程序从源代码到可执行程序一共有四个过程:预处理->编译->汇编->链接

次序 执行流程 功能 GCC命令
1 预处理 展开头文件、宏替换、去掉注释、条件编译 gcc - E main.c - o main.i
2 编译 检查语法,生成汇编程序 gcc - S main.i - o main.s
3 汇编 汇编代码转换为机器码 gcc - c hello.s - o main.o
4 链接 链接各个文件一起生成可执行文件 gcc main.o - o main

1. 预处理

预处理就是在C语言源文件和头文件中的所有以#开始的行,都属于预处理的范畴,预处理命令一般有一下几种:

类别 符号 主要作用
宏定义 #define,#undef,#include 基本上即使做字符替换
条件编译 #if,#else,#elif,#endif,#ifdef,#ifndef 和C语言的分支语句一样,不过这个告知编译器的
信息输出 #error,#warning 分别输出错误级别信息和警告级别信息
设置 #line,#pragma 向编译器发送一些指令

二、命令选项

o小写

指定生成(输出)文件名称,如: gcc -o helloworld helloworld.c.

O大写

编译器的优化选项,格式为-On(n=0,1,2,3),默认为1,0表示不优化,3表示最

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值