编程入门(第2版)(ByFarsight)第2章嵌入式LinuxC语言开发工具本章目标C语言的产生历史背景嵌入式Linux下C语言的开发环境嵌入式Linux下的编辑器vi嵌入式Linux下的编译器GCC嵌入式Linux下的调试器GDB嵌入式Linux下的工程管理器make如何使用autotools来生成Makefile嵌入式Linux下的综合编辑器Emacs语言特点C语言是结构化的语言C语言是模块化的语言程序可移植性好语言编程环境编辑器编译链接器调试器项目管理器的基本模式命令行模式(CommandMode)插入模式(InsertMode)底行模式(LastLineMode)的基本操作进入与离开vivi中3种模式的切换命令行模式、底行模式转为插入模式插入模式转为命令行模式、底行模式命令行模式与底行模式转换vi的删除、修改与复制vi的光标移动vi的查找与替换vi的文件操作指令概述GCC的编译流程分为了4个步骤,分别为。预处理(Pre-Processing)。编译(Compiling)。汇编(Assembling)。链接(Linking)。编译流程分析GCC使用的基本语法为:gcc[option|filename]预处理阶段编译阶段汇编阶段链接阶段警告提示Wall类警告提示非Wall类警告提示函数库介绍数库可以看做是事先编写的函数集合,它可以与主函数分离,从而增加程序开发的复用性。Linux中函数库可以有3种使用的形式:静态共享动态。相关路径选项“-Idir”(2)“-Ldir”的使用在程序编译通过生成可执行文件之后,就进入了程序的调试环节。调试一直来是程序开发中的重中之重,如何使程序员能够迅速找到错误的原因是一款调试器的目标。GDB是GNU开源组织发布的一个强大的Linux下的程序调试工具,它是一种强大的命令行调试工具。工程管理器Makefile基本结构在一个Makefile中通常包含如下内容。需要由make工具创建的目标体(target),目标体通常是目标文件、可执行文件或是一个标签。要创建的目标体所依赖的文件(dependency_file)。创建每个目标体时需要运行的命令(command)。库文件维护程序的名称,默认值为arAS汇编程序的名称,默认值为asCCC编译器的名称,默认值为ccCPPC预编译器的名称,默认值为$(CC)–ECXXC++编译器的名称,默认值为g++FCFORTRAN编译器的名称,默认值为f77RM文件删除程序的名称,默认值为rm–fARFLAGS库文件维护程序的选项,无默认值ASFLAGS汇编程序的选项,无默认值CFLAGSC编译器的选项,无默认值CPPFLAGSC预编译的选项,无默认值CXXFLAGSC++编译器的选项,无默认值FFLAGSFORTRAN编译器的选项,无默认值规则Makefile的规则包括目标体、依赖文件及其间的命令语句,是make进行处理的依据。Makefile中的一条语句就是一个规则。隐式规则模式规则综合编辑器Emacs的启动与退出Emacs的基本编辑移动光标剪切和粘贴复制文本查找文本文档相关窗口相关取消指令模式进入C模式C模式中的编译C模式中的调试模式Emacs的强大还在于它可以运行shell命令,用户只需要使用切换模式的命令“M-xshell”就可以进入到shell的命令行界面,用户在其中可以进行自己任意操作