


版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、嵌入式 Linux 应用程序开发测试题( 14 级嵌入式方向专用)一、选择题1、下列哪一项不是嵌入式操作系统的特点 A、占 有资源少 B、低成本 C、高可靠性 D、交互性2、在 Linux 内核配置过程中,下面哪项命令采用的是基于图形窗口模式的配置 界面 A、make config B、 make menuconfigC、make xconfig D、 make oldconfig3、在 Linux 内核配置过程中,下面哪项命令建立依赖关系A、make config B、make menuconfigC、make dep D、make clean4、交叉编译器中,下面哪项不是必需包含的A、gl
2、ibc B、gcc C、 binutilsD、tmake5、内核的编译主要步骤不包括下面哪项A、内核配置 B、建立依存关系 C、建立内核 D、加载内核6、内核编译时选项前的尖括号中可以是空, *,M,其中 * 表示 A、选项将编译为模块 B、不包含选项 C、包含选项7、Bootloader 的 stage1 阶段主要完成的工作不包括下面哪项A、基本的硬件初始化B、为加载 stage2 准备 RAM空间 C、拷贝 stage2 到 RAM中 D、用汇编语言跳转到 main 入口函数8、GCC的正确编译流程为 A、预处理 -编译-汇编- 链接B、预处理 -编译-链接- 汇编C、预处理 -链接-编译
3、- 汇编D、编译 - 预处理-汇编- 链接9、如需 GCC提供编译过程中所有有用的报警信息,则在编译时应加入选项 A、 -w B、-Wall C、-werror D、-error10、下面哪些与 GDB相关的说法是错误的 A、GDB能调试可执行文件 B、GDB能调试源代码、 GDB对编译过程有要求 D、GDB支持交叉调试11、在 GDB调试过程中,使用下面哪项命令设置断点,其中 m代表行号 A、b m B、c m C、n m D、 s m12、open 函数原型中的 O_RDW标R志表示文件打开方式为A、只读方式打开文件B、可写方式打开文件C、读写方式打开文件D 、以添加方式打开文件,在打开文
4、件的同时,文件指针指向文件末尾13、在 Linux 操作系统中,串口设备的设备名一般为A、com1 B、port1 C、 ttyS0 D、serl114、下面哪项对 Linux 操作系统下 fork 函数的描述是错误的 A、fork 函数执行一次返回两个值B 、新进程称为子进程,而原进程称为父进程C、父进程返回值为子进程的进程号D、子进程返回值为父进程的进程号15、编写守护进程的第一步为A、创建子进程,父进程退出B 、在子进程中创建新会话C、改变当前目录为根目录D 、关闭文件描述符16、在关于 TCP/UDP的描述中,下面哪项是错误的 A、TCP数据传输实现了从一个应用程序到另一个应用程序的数
5、据传递B、TCP对话通过三次握手来完成初始化C、UDP即用户数据报协议是一种面向连接的协议D、一个 UDP应用可同时作为应用的客户或服务器方17、常见的 socket 类型中不包括下面哪项A、SOCK_STREAM B 、SOCK_DGRAM C 、 SOCK_DTRAN D、SOCK_RAW18、以下哪项不是 autotools 系列工具之中的一种。A、automake B 、autoconf C 、 autoclean D 、 autoscan19、下列关于网络编程的叙述中,错误的是B 。A.一个完整的网络程序应该包含两个独立的程序,它们分别运行在客户端和服 务器端。B. 当使用 UDP编
6、程时,如果函数 sendto( ) 函数成功返回,表示系统发出的数 据被通讯的对方准确接收到了。C. 相同条件下 UDP发送数据的速度要比 TCP快。D. 端口号是 16bit 的地址码,端口号和 IP 地址构成一个插口( socket )。20、下列 makefile 自动变量中,表示目标文件完整名称的是A、$B 、$<C、$D、$%二、填空题1、Linux 中最常用的编译器是 编译器。 答案: gcc2、gdb 对文件进行调试。 答案:可执行3、工程管理器 make读入的配置文件为 。答案: akefile 或makefile4、工程管理器 make定义了 规则和模式规则。 答案:隐
7、含5、嵌入式软件开发所采用的编译过程为 编译。 答案:交叉6、在嵌入式软件开发中,将程序实际的运行环境称为 机。 答案:目标7、一个进程启动时,通常都会打开 个文件。 答案:8、在 Linux 中,实现文件上锁的函数有 lock 和。 答案: fcntl9、Daemon进程即通常所说的 进程,是 Linux 中的后台服务进程。答案:守护10、在 Linux 中使用 函数创建一个新进程。 答案: fork11、fork 函数调用后出现父进程与子进程,其中 的返回值为 0。 答案:子进程12、函数族就提供了一个在进程中启动另一个程序执行的方法。答案:exec13、exit() 函数与 _exit(
8、) 函数最大的区别就在于 函数在 exit 系统调用之前要检查文件的打开情况,并将文件缓冲区中的内容写回文件。答案: exit14、函数是用于使父进程阻塞,直到一个子进程结束或者该进程接到了一个指定的信号为止。 答案: wait15、在 Linux 中,所有的孤儿进程自动由 进程收养。答案: init16、Linux 中的网络编程通过 接口来进行。 答案: socket17、SOCK_DGRA为M套接字。 答案:数据报三、程序填空和阅读分析题1、下列程序在父子进程之间创建了一个管道,实现父进程向子进程写数据的 功能。阅读下列程序,并写出标号所示的功能。#include <unistd.h
9、>#include <sys/types.h>#include <errno.h>#include <stdio.h>#include <stdlib.h>int main()int 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) 创建管道 printf("pipe create errorn");return -1;
10、if(pid=fork()=0)(3)创建子进程printf("n");close(pipe_fd1);(4) 关闭子进程写描述符sleep(2);if(r_num=read(pipe_fd0,buf_r,100)>0) (5) 子进程读取管道内容printf(is %sn",r_num,buf_r);close(pipe_fd0); exit(0);%d numbers read from the pipe6)关闭子进程读描述符else if(pid>0)(7)父进程运行控制语句8)关闭父进程的读描述符9)close(pipe_fd0); if(wr
11、ite(pipe_fd1,"Hello",5)!=-1)printf("parent write1 success!n"); if(write(pipe_fd1," Pipe",5)!=-1)printf("parent write2 success!n"); close(pipe_fd1);( 10)关闭父进程写描述符sleep(3);waitpid(pid,NULL,0); 阻塞方式 等待子进程结束 exit(0);将数据写入缓冲区2、阅读程序,均可在一个时间片内执行完,且操作系统每次均先调度子进程。写出程序的
12、执行结果,并分析程序的执行过程。( 假设父子进程)#include <sys/types.h>#include <unistd.h>int main() pid_t result;int count=5;printf("beforefork,count=%dn",count);result=fork();if(result<0)printf("forkfailn");else if(result>0)count+;printf("Thisisn”);elsecount-;printf("Thisis
13、child!n");printf("afterforkcount=%dn",count);return 0;beforefork,count=5Thisis childafterfork count=4Thisis parent!afterfork count=6程序的执行过程如下:程序先定义了两个变量result和 count ,然后输出变量 count 的值,得到 "before fork count=5" 这一行输出。当执行到 result=fork() 时程序分 叉,产生父子两个进程。系统首先调度子进程执行,直至子进程结束。而在子进程中
14、 result 为 0,故走的是条件分支的最后一个分支,输出: This is child.after fork count=4子进程执行完了之后调度父进程执行,直至父进程结束。而在父进程中 result 为子进程号,大于 0,于是走条件分支的第二个个分支,输出: This is parentafter fork count=6四、编程题1、编写一个语言源程序 ex.c ,( 1)用以在打开当前目录下的文件“ex.txt ”,如果没有则创建该文件,并使其具有读写属性,( 2)编写一个 makefile 实现自动编译 , 生成可执行文件 ex。void main(void)int fid;fid
15、 = open( “ ./ex.txt ”,O_RDWR|O_CREAT);if(fid=-1)printf( “ open or create error n” );exit(0);close(fid);objects = ex.o exec = ex all:$(objects)gcc o $(exec) $(objects)ex.o:ex.cgcc c ex.cclean:rm r $(exec) $(objects)2、假定你在目录 /root/arm 下有一个 C 程序,它由几个单独的文件组成,而这 几个文件又分别包含了其他文件,如下图所示:文件包含文件main.cstdio.h,
16、table.hlist.clist.hsymbol.csymbol.htable.ctable.htable.hsymbol.h, list.h试编写 makefile 文件,最终的目标文件为 ex1(交叉编译器为 arm-linux-gcc )CC=arm-linux-gccex1: 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.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
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 护士院内感染培训课件
- 育苗技术培训课件
- 采购培训课程课件
- 动态数据中的专家系统知识建模-第1篇-洞察及研究
- 综合物流园及配套设施建设项目可行性研究报告
- 信息技术考试试题库(含答案)
- 市场营销单选模拟试题(含答案)
- 文库发布:认识圆课件
- 认识图形的课件
- 认识和使用显微镜
- 厨房餐厅承包合同(标准版)
- 2025年《师德师风》测试题(附答案)
- 2025年甘肃高速公路处收费人员招聘考试(公共基础知识)历年参考题库含答案详解(5套)
- 加油站资金安全知识培训课件
- 2025年专职网格员笔试题及答案
- 高中数学《新课程标准》考试试题及答案
- 2025年《医疗器械生产企业管理者代表管理指南》考核试题(含答案)
- GB/T 18268.1-2025测量、控制和实验室用的电设备电磁兼容性要求第1部分:通用要求
- 地铁站基坑施工监测方案
- 2025-2026年秋季学期教研工作计划及工作行事历
- 地质勘查人员职业技能鉴定经典试题含答案
评论
0/150
提交评论