Outline 前言 GNU Too1s简介 。GCC o GNU binutils ·Gdb-调试器 ●GNU make一一软件工程工具 ●GNW1d一一链接器 GN而to01s交义开发环的安装和成用 小结和作业 4口4四1是14P刀00 陈香兰(xlanchenoustc,edu,cn)(升界丸应 长人式择作系统 ovenber28,20149/111
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Outline . 1. 前言 .2 GNU Tools简介 GCC GNU binutils Gdb—调试器 GNU make——软件工程工具 GNU ld——链接器 .3 GNU tools 交叉开发环境的安装和试用 4. 小结和作业 陈香兰(xlanchen@ustc.edu.cn) (计算机应用教研室@计算机学院嵌入式系统实验室 嵌入式操作系统 @苏州研究院中国科学技术大学Fall 2014) November 28, 2014 9 / 111
Outline 。交又开发 GNU Too1s简介 ●GCC o GNU binutils 。Gd山一调试器 。GNU make一软件工程工具 。GNT1d一链接器 。GN阳too1s交义开发环境的安装和武用 。GNU too1s交叉开发环境的安装 。使用安装好的交叉编译器编译he11o 。使用安装好的交又编译器编译1i 。编译C1inux @小结和作业 4口4四是4P,在刀00 陈香兰(xlanchenoustc,edu,cn)(升界丸应 长人式择作系统 oveaber28,201410/111
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Outline . 1. 前言 交叉开发 .2 GNU Tools简介 GCC GNU binutils Gdb—调试器 GNU make——软件工程工具 GNU ld——链接器 .3 GNU tools 交叉开发环境的安装和试用 GNU tools 交叉开发环境的安装 使用安装好的交叉编译器编译hello 使用安装好的交叉编译器编译linux 编译µClinux 4. 小结和作业 陈香兰(xlanchen@ustc.edu.cn) (计算机应用教研室@计算机学院嵌入式系统实验室 嵌入式操作系统 @苏州研究院中国科学技术大学Fall 2014) November 28, 2014 10 / 111
GCC--The GNU Compiler Collection ·不仅仅是C语言编译器 。目前,GCC可以支持多种高级语言,如 C、C++ ADA Ob,jective-C Ob,jective-C++ JAVA Fortran PASCAL 1口4四是42刀00 陈香兰(xlanchenoustc,edu,cn)(升界丸应 长人式操作香统 Novesber28,201411/111
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GCC——The GNU Compiler Collection 不仅仅是C语言编译器 目前,GCC可以支持多种高级语言,如 ▶ C、C++ ▶ ADA ▶ Objective-C、Objective-C++ ▶ JAVA ▶ Fortran ▶ PASCAL 陈香兰(xlanchen@ustc.edu.cn) (计算机应用教研室@计算机学院嵌入式系统实验室 嵌入式操作系统 @苏州研究院中国科学技术大学Fall 2014) November 28, 2014 11 / 111
GCC下的工具 。GCC下的工具包括 ·Cpp一预处理器 GNUC编译器在编译前自动使用cpp对用户程序进行预处理 ~gcc一符合IS0等标准的C编译器 ·g+一基本符合IS0标准的C++编译器 ~gcj一GCC的java前端 ·gnat一GCC的GNU ADA95前端 。等等 4口4四是4P在刀0C 陈香兰(xlanchenoustc,edu,cn)(升界款应 长人式操作香统 Novesber28,201412/111
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GCC下的工具 GCC下的工具包括 ▶ cpp — 预处理器 GNU C编译器在编译前自动使用cpp对用户程序进行预处理 ▶ gcc — 符合ISO等标准的C编译器 ▶ g++ — 基本符合ISO标准的C++编译器 ▶ gcj — GCC的java前端 ▶ gnat — GCC的GNU ADA 95前端 ▶ 等等 陈香兰(xlanchen@ustc.edu.cn) (计算机应用教研室@计算机学院嵌入式系统实验室 嵌入式操作系统 @苏州研究院中国科学技术大学Fall 2014) November 28, 2014 12 / 111
GNU Tools-gcc ●gCC 是一个强大的工具集合,它包含了预处理器、编译器、 汇编器、链接器等组件。它会在需要的时候调用其他组件。 输入文件的类型和传递给gcc的参数决定了gCC调用具体的 哪些组件。 ·对于开发者,它提供的足够多的参数,可以让开发者全面 控制代码的生成,这对嵌入式系统级的软件开发非常重要 4口4四是4P在刀0C 陈香兰(xlanchenoustc,edu,cn)(升界款应 长人式操作香统 Novesber28,201413/111
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GNU Tools—gcc gcc 是一个强大的工具集合,它包含了预处理器、编译器、 汇编器、链接器等组件。它会在需要的时候调用其他组件。 输入文件的类型和传递给gcc的参数决定了gcc调用具体的 哪些组件。 对于开发者,它提供的足够多的参数,可以让开发者全面 控制代码的生成,这对嵌入式系统级的软件开发非常重要 陈香兰(xlanchen@ustc.edu.cn) (计算机应用教研室@计算机学院嵌入式系统实验室 嵌入式操作系统 @苏州研究院中国科学技术大学Fall 2014) November 28, 2014 13 / 111