4.3 编译器gcc.pdf
文本预览下载声明
嵌入式系统程序设计
大连理工大学软件学院
嵌入式系统工程系
赖晓晨
gcc编译器 ★ ★★
GCC简介 代码优化
使用gcc 加速
警告提示功能 常用选项
库依赖 错误类型及对策
一、GCC简介
GCC:GNU Compiler Collection
能够编译c、c++、Object C,通过前端
模块扩展还可支持java 、fortran、
pascal、ada、modula-3等。
提供了30多条警告信息和3个警告级别
gcc与g++
1。GCC简介
gcc和g++的区别在于:
GCC:GNU Compiler Collection
当你的程序中出现using
能够编译c、c++、Object C,通过前端
namespace std等带有C++特性的
模块扩展还可支持java 、fortran、
语句时,如果用gcc编译,必须显式指
pascal、ada、modula-3等。
明这个程序要用C++标准库编译。而
g++可以直接编译
提供了30多条警告信息和3个警告级别
gcc与g++
gcc支持的文件
后缀名 所支持的文件
.c C源程序
.C C++源程序
.cc C++源程序
.cxx C++源程序
.m Object C源程序
.i 经过预处理的C源程序
.ii 经过预处理的C++源程序
.s 汇编语言源程序
.S 汇编语言源程序
.h 头文件
.o 目标文件
.a 存档文件
gcc是高效的编译器
#include stdio.h
main()
{
printf(hello world\n);
}
g++编译后 4.6k
tc++3编译后 7.8k
bc45编译后 53.8k
vc6编译后 184k
编译过程
用gcc编译程序时,分为四个阶段:
预处理(pre-processing)
编译(compiling)
汇编(assembling)
链接(linking)
程序员可以根据需要在任何一阶段停止
二、使用gcc
gcc –v 查看gcc版本
gcc f1 –o f2 (gcc f1)
编译源文件f1,得到可执行文件f2(a.out)
举例: #include stdio.h
main()
{
printf(hello world\n);
}
gcc工作过程
分四个阶段
gcc调用预处理程序cpp进行预处理,负责展
开宏、插
显示全部