• 正文
  • 相关推荐
申请入驻 产业图谱

飞凌嵌入式ElfBoard-Vim编辑器之GCC编译器的安装

10/15 09:32
357
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

GCC(GNU Compiler Collection)是由GNU开发的编程语言编译器,最初是作为GNU操作系统的编译器编写的。GCC是一个编译器套件,包含很多软件包,支持多种语言编译。GCC的官网是http://gcc.gnu.org

&说明:本章内容为通用知识,关于GCC编译器的讲解将在第一章搭建的环境中进行演示,适用于EflBoard提供的所有环境。

GCC的安装

ubuntu默认安装了GCC,但软件包可能不全,为了确保有一个基本完善的本地编译环境,可安装build-essential软件包。在确保Linux能联网的情况下,在终端输入如下安装命令:

elf@ubuntu:~$ sudo apt-get install build-essential

也可以通过简单的命令安装gcc:

elf@ubuntu:~$ sudo apt install gcc

GCC的编译选项

GCC的基本用法是:gcc [选项] 文件名

GCC有很多编译控制选项,使得GCC可以根据不同的参数进行不同的编译处理,我们简单介绍一些常用的基本控制选项。

选项 说明
-c 只编译不链接。只将.c文件生成.o为后缀的目标文件,通常用于编译不包含主程序子程序文件
-S 只对文件进行编译,不汇编和链接
-E 只对文件进行预处理,不编译汇编和链接
-o outname 确定输出文件的名称为outname,不能和源文件同名。如果不给出这个选项,gcc给出预设的可执行文件a.out
-g 产生符号调试工具(GNU的gdb)所必要的符号信息,要对源码进行调试必须加入这个选项。G也分等级,默认是-g2,-g1是最基本的,-g3包含宏信息
-O 对程序进行优化编译链接。采用这个选项,整个源代码会在编译链接过程中进行优化处理,这样产生的可执行文件的效率可以提高,但是编译链接的速度相对要慢一些。
-I dirname 将dirname目录加入到程序头文件搜索目录列表中,是在预编译过程中使用的参数。注意:此处的I为i的大写
-L dirname 将dirname目录加入到库文件的搜索目录列表中
-l FOO 链接名为libFOO的函数库。注意:此处的l为L的小写
-static 链接静态库
-ansi 支持ANSI/ISO C的标准语法,取消GNU的语法中与该标准相冲突的部分
-w 关闭所有警告,不建议使用
-W 开启所有gcc提供的警告
-werror 将所有警告转换为错误,开启该选项,遇到警告都会终止编译
-v 显示执行的详细过程,gcc以及相关程序的版本号

相关推荐