2022年嵌入式Linux应用程序开发测试题.docx

上传人:Che****ry 文档编号:27263719 上传时间:2022-07-23 格式:DOCX 页数:14 大小:79.68KB
返回 下载 相关 举报
2022年嵌入式Linux应用程序开发测试题.docx_第1页
第1页 / 共14页
2022年嵌入式Linux应用程序开发测试题.docx_第2页
第2页 / 共14页
点击查看更多>>
资源描述

《2022年嵌入式Linux应用程序开发测试题.docx》由会员分享,可在线阅读,更多相关《2022年嵌入式Linux应用程序开发测试题.docx(14页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、精选学习资料 - - - - - - - - - 学而不思就惘,思而不学就殆嵌入式Linux应用程序开发测试题(14 级嵌入式方向专用)一、挑选题1、以下哪一项不是嵌入式操作系统的特点D、交互性A、占有资源少B、低成本C、高牢靠性2、在 Linux 内核配置过程中,下面哪项命令采纳的是基于图形窗口模式的配置 界面 A、make config B、make menuconfig C、make xconfig D、make oldconfig 3、在 Linux 内核配置过程中,下面哪项命令建立依靠关系 A、make config B、make menuconfig C、make dep D、ma

2、ke clean 4、交叉编译器中,下面哪项不是必需包含的A、glibc B、gcc C、binutils D、tmake 5、内核的编译主要步骤不包括下面哪项A、内核配置B、建立依存关系C、建立内核D、加载内核6、内核编译时选项前的尖括号中可以是空,*,M,其中 * 表示A、选项将编译为模块B、不包含选项C、包含选项7、Bootloader 的 stage1 阶段主要完成的工作不包括下面哪项A、基本的硬件初始化B、为加载 stage2 预备 RAM空间C、拷贝 stage2 到 RAM中D、用汇编语言跳转到 main 入口函数8、GCC的正确编译流程为 A、预处理 - 编译 - 汇编 - 链

3、接B、预处理 - 编译 - 链接 - 汇编名师归纳总结 - - - - - - -第 1 页,共 9 页精选学习资料 - - - - - - - - - 学而不思就惘,思而不学就殆C、预处理 - 链接 - 编译 - 汇编 D、编译 - 预处理 - 汇编 - 链接 9、如需 GCC供应编译过程中全部有用的报警信息,就在编译时应加入选项 A、-w B、-Wall C、-werror D、-error m代表行号10、下面哪些与 GDB相关的说法是错误的A、GDB能调试可执行文件B、GDB能调试源代码、 GDB对编译过程有要求D、GDB支持交叉调试11、在 GDB调试过程中,使用下面哪项命令设置断点

4、,其中A、b m B、c m C、n m D、s m 12、open 函数原型中的 O_RDWR 标志表示文件打开方式为A、只读方式打开文件B、可写方式打开文件C、读写方式打开文件 D、以添加方式打开文件,在打开文件的同时,文件指针指向文件末尾 13、在 Linux 操作系统中,串口设备的设备名一般为 A、com1 B、port1 C、ttyS0 D、serl1 14、下面哪项对 Linux 操作系统下 fork 函数的描述是错误的 A、fork 函数执行一次返回两个值 父进程C、父进程返回值为子进程的进程号15、编写守护进程的第一步为 B、新进程称为子进程,而原进程称为 D、子进程返回值为父

5、进程的进程号A、创建子进程,父进程退出 B、在子进程中创建新会话C、转变当前目录为根目录 D 、关闭文件描述符16、在关于 TCP/UDP的描述中,下面哪项是错误的 A、TCP数据传输实现了从一个应用程序到另一个应用程序的数据传递名师归纳总结 - - - - - - -第 2 页,共 9 页精选学习资料 - - - - - - - - - 学而不思就惘,思而不学就殆B、TCP对话通过三次握手来完成初始化 C、UDP即用户数据报协议是一种面对连接的协议 D、一个 UDP应用可同时作为应用的客户或服务器方 17、常见的 socket 类型中不包括下面哪项 A、SOCK_STREAM B、SOCK_

6、DGRAM C 、SOCK_DTRAN D、SOCK_RAW 18、以下哪项不是 autotools系列工具之中的一种;A、automake B、autoconf C、autoclean D、autoscan 19、以下关于网络编程的表达中,错误选项 B ;A. 一个完整的网络程序应当包含两个独立的程序,它们分别运行在客户端和服务器端;B. 当使用 UDP编程时,假如函数sendto 函数胜利返回,表示系统发出的数据被通讯的对方精确接收到了;C.相同条件下 UDP发送数据的速度要比 TCP快;D.端口号是 16bit 的地址码,端口号和 IP 地址构成一个插口( socket );20、以下

7、makefile 自动变量中,表示目标文件完整名称的是A、$ B、$ C、$ D、$% 二、填空题名师归纳总结 1、Linux 中最常用的编译器是 _编译器;答案: gcc 第 3 页,共 9 页2、gdb 对_文件进行调试;答案:可执行3、工程治理器 make读入的配置文件为 _;答案: akefile或makefile 4、工程治理器 make定义了 _规章和模式规章;答案:隐含5、嵌入式软件开发所采纳的编译过程为_编译;答案:交叉6、在嵌入式软件开发中,将程序实际的运行环境称为_机;答案:目标7、一个进程启动时,通常都会打开_个文件;答案:- - - - - - -精选学习资料 - -

8、- - - - - - - 学而不思就惘,思而不学就殆8、在 Linux 中,实现文件上锁的函数有lock 和_;答案: fcntl 9、Daemon进程即通常所说的 _进程,是 Linux 中的后台服务进程;答案:守护10、在 Linux 中使用 _函数创建一个新进程;答案: fork 答案:11、fork 函数调用后显现父进程与子进程,其中_的返回值为 0;子进程12、_函数族就供应了一个在进程中启动另一个程序执行的方法;答案:exec 13、exit函数与 _exit函数最大的区分就在于 _函数在 exit系统调用之前要检查文件的打开情形,并将文件缓冲区中的内容写回文件;答案: exit

9、 14、_函数是用于使父进程堵塞,直到一个子进程终止或者该进程接到了一个指定的信号为止;答案: wait 15、在 Linux 中,全部的孤儿进程自动由_进程收养;答案: init 16、Linux 中的网络编程通过 _接口来进行;答案: socket 17、SOCK_DGRAM 为_套接字;答案:数据报三、程序填空和阅读分析题1、以下程序在父子进程之间创建了一个管道,实现父进程向子进程写数据的功能;阅读以下程序,并写出标号所示的功能;#include #include #include #include #include int main int pipe_fd2; pid_t pid; c

10、har buf_r100; char* p_wbuf; int r_num; 名师归纳总结 memsetbuf_r,0,sizeofbuf_r; 1 将数据缓冲区清0 第 4 页,共 9 页- - - - - - -精选学习资料 - - - - - - - - - 学而不思就惘,思而不学就殆ifpipepipe_fd0 5 子进程读取管道内容 printf %d numbers read from the pipe is %sn,r_num,buf_r; closepipe_fd0; (6)关闭子进程读描述符exit0; else ifpid0 7 父进程运行掌握语句closepipe_fd0

11、; (8)关闭父进程的读描述符ifwritepipe_fd1,Hello,5.=-1 printfparent write1 success.n; (9)将数据写入缓冲区ifwritepipe_fd1, Pipe,5.=-1 printfparent write2 success.n; closepipe_fd1; sleep3; (10)关闭父进程写描述符 waitpidpid,NULL,0;堵塞方式等待子进程终止exit0; 名师归纳总结 2、阅读程序,写出程序的执行结果,并分析程序的执行过程; 假设父子进程第 5 页,共 9 页均可在一个时间片内执行完,且操作系统每次均先调度子进程; #

12、include#include int main pid_t result; int count=5; - - - - - - -精选学习资料 - - - - - - - - - 学而不思就惘,思而不学就殆printfbefore fork,count=%dn,count; result=fork; ifresult0 count+; printfThis is n” ; else count-; printfThis is child.n; printfafter fork count=%dn,count; return 0; before fork,count=5 This is chil

13、d after fork count=4 This is parent. after fork count=6 程序的执行过程如下:名师归纳总结 程序先定义了两个变量result和 count ,然后输出变量 count 的值,第 6 页,共 9 页得到 before fork count=5 这一行输出;当执行到result=fork时程序分叉,产生父子两个进程;系统第一调度子进程执行,直至子进程终止;- - - - - - -精选学习资料 - - - - - - - - - 学而不思就惘,思而不学就殆而在子进程中 result 为 0,故走的是条件分支的最终一个分支,输 出:This is

14、 child. after fork count=4 result子进程执行完了之后调度父进程执行,直至父进程终止;而在父进程中为子进程号,大于0,于是走条件分支的其次个个分支,输出:This is parent after fork count=6 四、编程题1、编写一个语言源程序 ex.c ,(1)用以在打开当前目录下的文件“ ex.txt” ,假如没有就创建该文件,并使其具有读写属性,(2)编写一个 makefile 实现自动编译 , 生成可执行文件 ex;void mainvoid int fid; fid = open“ ./ex.txt” ,O_RDWR|O_CREAT; iffi

15、d=-1 printf“ open or create error n” ; exit0; closefid; objects = ex.o exec = ex all:$objects gcc o $exec $objects ex.o:ex.c gcc c ex.c 名师归纳总结 - - - - - - -第 7 页,共 9 页精选学习资料 - - - - - - - - - 学而不思就惘,思而不学就殆clean: rm r $exec $objects 2、假定你在目录 /root/arm下有一个 C程序,它由几个单独的文件组成,而这几个文件又分别包含了其他文件,如下图所示:文件包含文件

16、arm-linux-gcc)main.c stdio.h, table.h list.c list.h symbol.c symbol.h table.c table.h table.h symbol.h, list.h 试编写 makefile文件,最终的目标文件为ex1(交叉编译器为CC=arm-linux-gcc ex1: main.o list.o symbol.o table.o $CC -o ex1 main.o list.o symbol.o table.o main.o: main.c table.h symbol.h list.h $CC -c -o main.o main.

17、c list.o: list.c list.h $CC -c -o list.o list.c symbol.o: symbol.c symbol.h $CC -c -o symbol.o symbol.c table.o: table.c table.h symbol.h list.h $CC -c -o table.o table.c clean: rm ex *.o 五、简答题1、什么是交叉编译?嵌入式交叉编译怎么实现?名师归纳总结 2、Bootloader启动流程是怎么样的?第 8 页,共 9 页- - - - - - -精选学习资料 - - - - - - - - - 学而不思就惘,思而不学就殆3、比较全缓冲、行缓冲和不带缓冲,并说明标准输入输出、标准错误各使用哪种类型的缓 冲?4、编写守护进程包括哪几个步骤,每个步骤分别怎么实现?5、进程的信号与信号量通信有什么区分?6、无名管道和出名管道在使用时有什么区分?分别使用什么函数创建无名管道和出名管道?名师归纳总结 - - - - - - -第 9 页,共 9 页

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁