linux期末复习题(6)

发布时间:2021-06-06

linux期末复习题

17. C语言的编译过程包括那几个部分,每一部分的功能如何?

1.预处理阶段

预处理是常规编译之前预先进行的工作,故此得名。它读取C语言源文件,对其中以“#”开头的指令(伪指令)和特殊符号进行处理。主要包括文件包含、宏定义和条件编译指令。

2.编译阶段

编译程序(Compiler)对预处理之后的输出文件进行词法分析和语法分析,试图找出所有不符合语法规则的部分

3.汇编过程

汇编过程是汇编程序(Assembler)把汇编语言代码翻译成目标机器代码的过程 4.连接阶段

连接程序(Linker)要解决外部符号访问地址问题连接模式分为静态连接和动态连接

18. 在linux中常用的开发工具有哪些?各自完成什么功能?

gcc编译系统,主要功能是对程序源文件进行编译。 gdb程序调试工具,主要功能排除程序中的错误。(查找程序中的错误,诊断其准确位置,并予以改正,这就是程序调试)

程序维护工具make,make是一种自动生成和维护目标程序的工具。

19. Gnu的make的工作过程包括那几个步骤?

GNU的make的工作过程如下: ①依次读入各makefile文件; ②初始化文件中的变量;

③推导隐式规则,并分析所有规则; ④为所有的目标文件创建依赖关系链;

⑤根据依赖关系和时间数据,确定哪些目标文件要重新生成; ⑥执行相应的生成命令。

20. 程序中的错误按性质分为哪三种?

编译错误,即语法错误。 运行错误。 逻辑错误。

21. Linux系统中系统对外通过哪两种方式提供服务?各有什么特点?

系统调用和库函数 系统调用

系统调用是操作系统提供的、与用户程序之间的接口,也就是操作系统提供给程序员的接口、从感觉上系统调用类似于过程调用,都由程序代码构成,使用方式相同

两者有实质差别:过程调用只能在用户态下运行,不能进入核心态;而系统调用可以实

精彩图片

热门精选

大家正在看