2.1.3  嵌入式Linux C语言编程环境 
嵌入式Linux C语言程序设计与在其他环境中的C程序设计很类似,也涉及编辑器、编
译链接器、调试器及项目管理工具的使用。现在我们先对这4种工具进行简单介绍,后面会
对其一一进行讲解。
1.编辑器
嵌入式 Linux 下的编辑器就如 Windows 下的 Word、记事本等一样,完成对所录入文字
的编辑功能,最常用的编辑器有vi(vim)和Emacs,它们功能强大,使用方便,本书重点介
绍vi和Emacs。
2.编译链接器
编译过程包括词法、语法和语义的分析、中间代码的生成和优化、符号表的管理和出错
处理等。在嵌入式Linux中,最常用的编译器是GCC编译器。它是GNU推出的功能强大、
性能优越的多平台编译器,其执行效率与一般的编译器相比平均效率要高20%~30%。
3.调试器
调试器可以方便程序员调试程序,但不是代码执行的必备工具。在编程的过程当中,调
试所消耗的时间远远大于编写代码的时间。因此,有一个功能强大、使用方便的调试器是必
不可少的。GDB可以方便地设置断点、单步跟踪等,足以满足开发人员的需要。
4.项目管理器
printf输出格式linux
嵌入式Linux中的项目管理器“make”类似于Windows中Visual  C++里的“工程”,它
是一种控制编译或者重复编译软件的工具,另外,它还能自动管理软件编译的内容、方式和
时机,使程序员能够把精力集中在代码的编写上而不是在源代码的组织上。
首先来讨论一下关于选择gcc版本的问题。gcc的版本有很多种,其中低于3.3.2
版本的只能编译Linux 2.4版本的内核,而3.3.2版本既能支持Linux 2.4版本的内核,也能支
持Linux 2.6版本的内核,在本书采用的gcc版本为3.3.2。
构建交叉编译环境涉及多个软件,以下列出了本书中用到的具体软件以及它们对应的版
本和下载地址。
binutils:生成一些辅助工具,如objdump、as、ld等。
下载地址:ftp:///gnu/binutils/binutils-2.14.tar.bz2。
版本:2.14
gcc:用来生成交叉编译器,主要生成arm-linux-gcc交叉编译工具。
下载地址:ftp:///gnu/gcc/gcc-3.3.2.tar.bz。
版本:3.3.2
glibc:用来提供用户程序所使用的一些基本的函数库。
下载地址:ftp:///gnu/glibc/glibc-2.2.5.tar.bz2。
版本:2.2.5
glibc-linuxthreads:提供Linux线程库。
下载地址:ftp:///gnu/glibc/glibc-linuxthreads-2.2.5.tar.bz2。
版本:2.2.5
再接下来,用户需要为这些工具准备好它们的工作目录。在这里,首先建立一个~/cross
目录,之后,用户再在~/cross目录下建立以下目录。