Linux C 第一二章预习

1.什么是嵌入式?

答:以应用为中心,以计算机技术为基础,且软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。 其实我们现在说的嵌入式系统是狭义的即是基于某一款嵌入式微处理器(如ARM)所组成的嵌入到对象体中实现智能控制的系统。

2.如何进行简单的GDB调试?

答:例如一个test.c文件,可通过运行命令“gcc -g test.c -o test”对test进行编译,其中参数g的作用就是把调试的信息加入生成的test可执行的文件中,否则GDB就无法对test进行调试。接下来使用命令“gdb test”启动GDB对test进行调试了。随后GDB停留在符号“(gdb)”处等待用户输入调试命令。GDB提供了大量的命令来实现各种调试功能。(查看原文件.设置断点.查看断点情况.运行程序.查看变量值.继续运行程序.单步运行)

3.gcc命令对程序进行编译低效的原因

答:(1)程序往往是由多个源文件组成,源文件的个数越多,那么gcc的命令行就越长。此外,各种编译规则也会加大gcc命令行的复杂度,所以在开发调试程序的过程中,通过输入gcc命令行来编译程序是很麻烦的。

(2)在程序的整个开发过程中,调试的工作量占到了整体工作量的70%以上。在调试的过程中,每次调试一般只会修改部分的源文件。而在使用gcc命令行编译时,gcc会把那些没有被修改的源文件一起编译,这样就会影响编译的整体效率。

4.什么是嵌套执行?

答:如果把所有的源文件的编译规则都写在一个Makefile中,会造成Makefile过于臃肿,为编写和修改带来了很大的不便。解决这个问题的办法是把Makefile分解成多个子Makefile ,并放置到程序的每个子目录中,每个子Makefile文件负责之所在目录下源文件的编译工作。Make工程管理器会首先读取程序根目录下的Makefile文件(总控Makefile),然后去读取各个目录中的子Makefile文件。这个过程就叫做Make的嵌套执行。嵌套执行的方法为 cd 子目录 && $(MAKE)或者$(MAKE) -c子目录。

5.什么是常量和变量?

答:在程序执行过程中其值不发生改变的量称为常量,可分为整型常量,字符常量,实型常量。

变量:其值在其作用域内可以改变的量,可分为整型变量,字符型变量,浮点型变量,指针型变量等。

6.局部变量和全局变量

答:局部变量:也称为内部变量,局部变量是在函数内作定义说明的,其作用域仅限于函数内,离开函数后再使用这种变量是非法的。

全局变量:也称为外部变量,他是在函数外部定义的变量,它不属于哪一个函数,它属于一个源程序文件,其作用域是整个源程序。在函数中使用全局变量,一般应作全局变量说明,只有在函数内经过说明的全局变量才能使用。全局变量的说明符为extern,但在一个函数之前定义的全局变量,在该函数内使用可不再加以说明。

7.声明与定义的区别

答:定义:就是编辑器创建一个对象,为这个对象分配一块内存并给它取上一个名字,这个名字就是我们经常所说的变量名和对象名,要注意,这个名字一旦和这块内存匹配起来,这块内存的位置也不能被改变。一个变量或对象在一定的区域内(如函数内.全局等)只能被定义一次,如果定义多次,编译器会提示你重复定义同一个变量或者对象。

声明:告诉编译器,这个名字已经匹配到一块内存上了,上面两行代码用到变量或对象是在别的地方定义的。声明可以出现多次。还有一重意思,告诉编译器这个名字我先预定了,别的地方再也不能用它来作为变量名或者对象名。

8.陷阱之有无符号与无符号

答:计算机语言中负数没有-号来体现所以约定最高位是1则这个数为负数,最高位为0则为正数。

9.Make工程管理器在运行时对条件进行判断

答:条件表达式

如果真执行的文本段

endif

或者

条件表达式

如果真的执行文本段

else

如果假执行文本段

endif

10.函数

答:Make工程管理器也引入了函数机制,以丰富Make控制编译过程的方法。和变量一样,函数也用$进行标识,其使用格式为 $ (函数名 参数,参数...)其中函数名和参数用空格隔开,参数与参数之间用逗号隔开。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值