嵌入式Linux应用程序开发测试题_第1页
嵌入式Linux应用程序开发测试题_第2页
嵌入式Linux应用程序开发测试题_第3页
嵌入式Linux应用程序开发测试题_第4页
嵌入式Linux应用程序开发测试题_第5页
已阅读5页,还剩6页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、学而不思则惘,思而不学则殆嵌入式Linux应用程序开发测试题(14级嵌入式方向专用)一、选择题1、 下列哪一项不是嵌入式操作系统的特点DA、占有资源少 B、低成本 C、高可靠性 D交互性2、在Linux内核配置过程中,下面哪项命令采用的是基于图形窗口模式的配置界面CA make config B make menuconfigC make xconfig D make oldconfig3、 在Linux内核配置过程中,下面哪项命令建立依赖关系CA make configB、 make menuconfigC make dep D make clean4、 交叉编译器中,下面哪项不是必需包含的

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

3、CC提供编译过程中所有有用的报警信息,则在编译时应加入选项BA -w B、-Wall C、-werror D -error10、 下面哪些与GDB相关的说法是错误的BA、GDB能调试可执行文件B、GDB能调试源代码C、GDB寸编译过程有要求D GDB支持交叉调试11、 在GDE调试过程中,使用下面哪项命令设置断点,其中m代表行号 AA b m B、c m C、n mD、s m12、 open函数原型中的O_RDWR志表示文件打开方式为CA、只读方式打开文件B、可写方式打开文件C、读写方式打开文件D、以添加方式打开文件,在打开文件的同时,文件指针指向文件末尾13、 在Linux操作系统中,串口设

4、备的设备名一般为CA、com1 B、port1 C ttyS0 D serl114、 下面哪项对Linux操作系统下fork函数的描述是错误的DA、fork函数执行一次返回两个值B、新进程称为子进程,而原进程称为父进程C、父进程返回值为子进程的进程号D、子进程返回值为父进程的进程号15、 编写守护进程的第一步为AA、创建子进程,父进程退出B、在子进程中创建新会话C、改变当前目录为根目录D、关闭文件描述符16、 在关于TCP/UDP勺描述中,下面哪项是错误的CA、TCP数据传输实现了从一个应用程序到另一个应用程序的数据传递B、TCP对话通过三次握手来完成初始化C、UDP即用户数据报协议是一种面向

5、连接的协议D 个UDP应用可同时作为应用的客户或服务器方17、 常见的socket类型中不包括下面哪项CA SOCK_STREAMB、SOCK_DGRAMC、SOCK_DTRAN D SOCK_RAW18、以下哪项不是autotools系列工具之中的一种。CA、automake B 、autoconf C 、autoclean D 、autoscan19、 下列关于网络编程的叙述中,错误的是B。A. 一个完整的网络程序应该包含两个独立的程序,它们分别运行在客户端和服 务器端。B. 当使用UDP编程时,如果函数sendto()函数成功返回,表示系统发出的数 据被通讯的对方准确接收到了。C. 相同

6、条件下UDP发送数据的速度要比TCP快。D. 端口号是16bit的地址码,端口号和IP地址构成一个插口( socket )。20、下列makefile自动变量中,表示目标文件完整名称的是A、$B 、$< C 、$AD 、$%二、填空题1、 Linux中最常用的编译器是 译器。 答案:gcc2、 gdb对 件进行调试。答案:可执行3、 工程管理器make读入的配置文件为 。答案:M akefile 或 makefile4、 工程管理器make定义了规则和模式规则。答案:隐含5、 嵌入式软件开发所采用的编译过程为 编译。 答案:交叉&在嵌入式软件开发中,将程序实际的运行环境称为 机。

7、 答案:目标7、一个进程启动时,通常都会打开 文件。 答案:38、在Linux中,实现文件上锁的函数有lock和。 答案:fcntl9、 Daemon进程即通常所说的 进程,是Linux中的后台服务进程。答案: 守护10、 在Linux中使用函数创建一个新进程。答案:fork11、 fork函数调用后出现父进程与子进程,其中 的返回值为0。 答案: 子进程12、 函数族就提供了一个在进程中启动另一个程序执行的方法。答案:exec13、 exit()函数与_exit()函数最大的区别就在于 函数在exit系统调用之前要检查文件的打开情况,并将文件缓冲区中的内容写回文件。答案:exit14、 函数

8、是用于使父进程阻塞,直到一个子进程结束或者该进程接到了一个指定的信号为止。答案:wait15、 在Linux中,所有的孤儿进程自动由 进程收养。答案:init16、 Linux中的网络编程通过 接口来进行。答案:socket17、 SOCK DGRAMI套接字。答案:数据报三、程序填空和阅读分析题1、下列程序在父子进程之间创建了一个管道,实现父进程向子进程写数据的 功能。阅读下列程序,并写出标号所示的功能。#i nclude <uni std.h>#i nclude <sys/types.h>#i nclude verrno .h>#i nclude <st

9、dio.h>#i nclude <stdlib.h>int main()in t pipe_fd2;pid_t pid;char buf_r100;char* p_wbuf;int r_num; memset(buf_r,0,sizeof(buf_r); (1)将数据缓冲区清 0if(pipe(pipe_fd)<0) (2)创建管道prin tf("pipe create error' n");return -1;if(pid=fork()=0)(3)创建子进程prin tf("n");close(pipe fd1);(4

10、)关闭子进程写描述符sleep(2);if(r_num=read(pipe_fd0,buf_r,100)>0) (5)子进程读取管道内容printf(is %sn",r_num,buf_r);close(pipefd0);exit(0);II%d nu mbers read from the pipe(6)关闭子进程读描述符else if(pid>0)父进程运行控制语句(8)关闭父进程的读描述符(9)close(pipe_fd0);if(write(pipe fd1,"Hello",5)!=-1)prin tf("pare nt write1

11、 success!n"); if(write(pipe_fd1," Pipe",5)!=-1)prin tf("pare nt write2 success!n"); close(pipe fd1);( 10)关闭父进程写描述符sleep (3);waitpid(pid,NULL,0);_阻塞方式等待子进程结束 exit(0);将数据写入缓冲区2、阅读程序,均可在一个时间片内执行完,且操作系统每次均先调度子进程。写出程序的执行结果,并分析程序的执行过程。(假设父子进程)#in clude <sys/types.h>#i nclude

12、 <uni std.h>intmai n()pid_t result;intcoun t=5;prin tf("beforefork,co un t=%dn",co unt);result=fork();if(result<0)prin tf("forkfailn");else if(result>0)coun t+;prin tf("Thisisn );elsecoun t-;prin tf("Thisischild!n");prin tf("afterforkcoun t=%dn&quo

13、t;,co un t);return 0;beforefork,co un t=5Thisis childafterfork coun t=4Thisispare nt!afterfork coun t=6程序的执行过程如下:程序先定义了两个变量result和count,然后输出变量count的值,得到"before forkcount=5"这一行输出。当执行到result=fork() 时程序分叉,产生父子两个进程。系统首先调度子进程执行,直至子进程结束。而在子进程中result为0,故走的是条件分支的最后一个分支,输出: This is child.after fork

14、coun t=4子进程执行完了之后调度父进程执行,直至父进程结束。而在父进程中result为子进程号,大于0,于是走条件分支的第二个个分支,输出: This ispare ntafter forkcoun t=6四、编程题1编写一个C语言源程序ex.c,(1)用以在打开当前目录下的文件“ex.txt ”,如果没有则创建该文件,并使其具有读写属性,(2)编写一个 makefile实现自动编译,生成可执行文件ex。void main (void)int fid;fid = open( “ ./ex.txt ”,O_RDWR|O_CREAT);if(fid=-1)printf( “ open or

15、create error n ” );exit(0);close(fid);objects = ex.o exec = ex all:$(objects)gcc - o $(exec) $(objects)ex.o:ex.cgcc c ex.cclea n:rm - r $(exec) $(objects)2、假定你在目录/root/arm 下有一个C程序,它由几个单独的文件组成,而这 几个文件又分别包含了其他文件,如下图所示:文件包含文件main .cstdio.h, table.hlist.clist.hsymbol.csymbol.htable.ctable.htable.hsymbol

16、.h, list.h试编写makefile文件,最终的目标文件为 ex1 (交叉编译器为arm-linux-gcc )CC=arm-l inu x-gccex1: main .0 list.o symbol.o table.o$(CC) -o ex1 main.o list.o symbol.o table.omai n.o: mai n.c table.h symbol.h list.h$(CC) -c -o mai n.o mai n.clist.o: list.c list.h$(CC) -c -o list.o list.csymbol.o: symbol.c symbol.h$(CC) -c -o symbol.o symbol.ctable.o:

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论