(习题解答)第4章嵌入式L i n u x程序开发
基础
-CAL-FENGHAI-(2020YEAR-YICAI)_JINGBIAN
(习题解答)第4章嵌入式Linux程序开发基础
1、请查资料,看看 GNU 所规定的自由软件的具体协议是什么
(略)
2、什么是GCC试述它的执行过程。
GCC(GNU C Compiler)是GNU项目所推出的功能强大、性能优越的多平台编译器。GCC是可以在多种硬体平台上编译出可执行程序的超级编译器,其执行效率与一般的编译器相比平均效率要高20%~30%。因此特别适合在嵌入式系统开发编译应用程序。
GCC的执行过程要经历4个相互关联的步骤∶预处理、编译、汇编和连接。
(1)预处理阶段
在该阶段,命令GCC首先对源代码文件中的文件包含(include)、预编译语句(如宏定义define等)进行分析。
linux下gcc编译的四个步骤(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
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论