
(习习题解答)第4章 嵌入式Linux程序开发基础.doc
1页习题解答)第4章 嵌入式Linux程序开发基础1、请查找资料,看看 GNU 所规定的自由软件的具体协议是什么(略)2、什么是GCC试述它的执行过程GCC(GNU C Compiler)是GNU项目所推出的功能强大、性能优越的多平台编译器GCC是可以在多种硬体平台上编译出可执行程序的超级编译器,其执行效率与一般的编译器相比平均效率要高20%~30%因此特别适合在嵌入式系统开发编译应用程序GCC的执行过程要经历4个相互关联的步骤∶预处理、编译、汇编和连接1)预处理阶段 在该阶段,命令GCC首先对源代码文件中的文件包含(include)、预编译语句(如宏定义define等)进行分析2)编译阶段 接下来进行的是编译阶段,在这个阶段中,GCC 首先要检查代码的规范性、是否有语法错误等,以确定代码的实际要做的工作,在检查无误后, GCC 把代码翻译成汇编语言3)汇编阶段 汇编阶段是把编译阶段生成的“.s”文件转化成二进制代码的目标文件4)链接阶段 在链接阶段,所有的目标文件被安排在可执行程序中的恰当的位置,同时,该程序所调用到的库函数也从各自所在的函数库中链到合适的地方3、编写一个简单的C程序,输出“Hello,Linux.”,在Linux下用GCC进行编译。
设设编写的程序其源代码如下:#include <>int main() { printf("Hello,Linux.\n"); return 0; } 编译为执行程序,其编译命令为:gcc –o hello运行该可执行文件: ./hello Hello,Linux. 4、将例4-1中∑n=1+2+3+……+100 求和运算的程序,编写一个Makefile文件,对其进行编译sum: gcc -o sum: gcc -c : gcc -c 1。












