这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 综合技术 » 基础知识 » gcc 嵌入式C语言应用程序开发工具-gcc使用指南

共2条 1/1 1 跳转至

gcc 嵌入式C语言应用程序开发工具-gcc使用指南

院士
2006-09-17 18:14:16     打赏
gcc 嵌入式C语言应用程序开发工具-gcc使用指南



关键词: 嵌入式     语言     应用程序     开发工具     使用指南    

院士
2006-12-22 22:43:00     打赏
2楼
嵌入式开发工具通常包括文本编辑工具,gcc编译器,MakeFile文件,gdb调式工具.

gcc是在Linux下运行的自由软件,本身是编译器,也可以用作交叉编译工具。所以说gcc是完整的交叉C编译器。
gcc的主要部件包括以下部件:

C交叉编译器gcc
交叉汇编工具as
反汇编工具objdump
连接工具ld
调试工具GDB

gcc最基本的用法是∶gcc [options] [filenames]



程序编译的四个过程:预处理、编译、汇编、连接

基本参数说明:
-E:只进行预处理
-S:只进行编译;产生汇编代码
-c:只编译、汇编,不连接成为可执行文件,编译器只是由输入的.c等源代码文件生成.o为后缀的目标文件,通常用于编译不包含主程序的子程序文件
-o  output_filename:确定输出文件的名称为output_filename,同时这个名称不能和源文件同名。如果不给出这个选项,gcc就给出预设的可执行文件a.out
-v:打印程序的编译过程,以及编译器的版本
-g:产生符号调试工具(GNU的gdb)所必要的符号资讯,要想对源代码进行调试,必须加入这个选项
-o:对程序进行优化编译、连接
-o2:比-o更好的优化
-Idirname:将dirname所指出的目录加入到程序头文件目录列表中,是在预编译过程中使用的参数。C程序中的头文件包含两种情况∶
A)#include <>
B)#include “myinc.h”
   其中,A类使用尖括号(< >),B类使用双引号(“ ”)。对于A类,预处理程序cpp在系统预设包含文件目录(如/usr/include)中搜寻相应的文件,而对于B类,cpp在当前目录中搜寻头文件,这个选项的作用是告诉cpp,如果在当前目录中没有找到需要的文件,就到指定的dirname目录中去寻找。在程序设计中,如果我们需要的这种包含文件分别分布在不同的目录中,就需要逐个使用-I选项给出搜索路径
-Ldir:将dir所指出的目录加入到程序函数档案库文件的目录列表中,是在连接过程中使用的参数。在预设状态下,连接程序ld在系统的预设路径中(如/usr/lib)寻找所需要的档案库文件,这个选项告诉连接程序,首先到-L指定的目录中去寻找,然后到系统预设路径中寻找,如果函数库存放在多个目录下,就需要依次使用这个选项,给出相应的存放目录
-lname:在连接时,装载名字为“libname.a”的函数库,该函数库位于系统预设的目录或者由-L选项确定的目录下。例如,-lm表示连接名为“libm.a”的数学函数库
-nostdlib:不使用系统默认的startup file和系统函数库,仅使用自己定义的库进行连结,某些特定的平台可能需要系统默认的库libgcc.a避免一些系统错误;因此当使用此命令是一般需要将libgcc.a库另外指定进行连接。
ld(link description)文件:ld文件是指出连接时内存映象格式的文件
大部分情况下各种参数混合使用时的顺序不会有什么影响,但是当同一个参数连续使用时将产生不同的效应,例如:-L命令,不同的顺序则编译起搜索的顺序不同

1: 要支持啊大家要是觉得  有用就回帖支持一下 2: 頂一下望再出好帖 3: 支持!RT! 4: 会努力的  大家关注会努力的  大家关注

5: http://www.bluemcu.com/http://www.bluemcu.com/
上面有的新文章  大家看看  
多提意见 6: 支持! 7: 不错啊 8: http://www.bluemcu.com/http://www.bluemcu.com/
9: 自己顶自己顶 10: haha 

共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]