嵌入式Linux应用程序设计试题
嵌入式Linux C语言应用开发试题及答案
嵌入式Linux C语言应用开发试题及答案一:选择题1.下面不是对Linux操作系统特点描述的是( B )。
[A] 良好的可移植性[B] 单用户[C] 多用户[D] 多任务2.查看创建目录命令mkdir的帮助文档,可以使用命令( D)。
[A] mkdir –h [B] help mkdir [C] mkdir -p [D] man mkdir3.在C语言中,要求运算数必须是整型的运算符是( D )。
[A] / [B] ++ [C] != [D] %4.C语言程序的三种基本程序是( A )。
[A] 顺序结构,选择结构,循环结构[B] 递归结构,循环结构,转移结构[C] 嵌套结构,递归结构,顺序结构[D] 循环结构,转移结构,顺序结构5.数据结构包含的内容不包括(a)A.线性结构B.存储结构C.逻辑结构D.数据运算6.向一个单链表linklist中的节点t后面插入一个节点p,下列操作正确的是(a)A.p->next = t->next;t->next = p;B.t->next = p->next;t->next = p;C.t->next = p;p->next = t->next;D.t->next = p;t->next = p->next;7.下列哪种打开文件的方式不能修改文件已有的内容( B )[A] r+ [B] r [C] w+ [D] a+8.以下哪种不是进程的状态( B )[A] 运行态[B] 锁定态[C] 睡眠态[D] 停止态9.常用来进行多任务同步的机制是( B )[A]管道[B] 信号量[C]信号[D]共享内存10.下列对于有名管道描述错误的是( D )[A] 可以用于互不相关的进程间[B] 通过路径名来打开有名管道[C] 在文件系统中可见[D] 管道内容保存在磁盘上11.不能被用户进程屏蔽的信号是( B )[A] SIGINT [B] SIGSTOP [C] SIGQUIT [D] SIGILL12.fread()返回值的含义是( B )[A] 读取的字节数[B] 读取的对象数[C] 缓冲区的首地址[D] 013.以下不属于socket的类型的是 ( )。
嵌入式Linux系统开发与应用考试
嵌入式Linux系统开发与应用考试(答案见尾页)一、选择题1. 嵌入式Linux系统开发环境搭建A. 安装Linux操作系统B. 配置开发环境C. 编写、编译、调试程序D. 连接目标板2. 嵌入式Linux系统编程基础A. C语言基础B. 汇编语言基础C. 嵌入式系统编程规范D. 嵌入式系统函数库3. 嵌入式Linux应用程序开发A. 嵌入式Linux应用程序设计原则B. 嵌入式Linux应用程序开发流程C. 嵌入式Linux应用程序调试技巧D. 嵌入式Linux应用程序性能优化4. 嵌入式Linux系统内核设计与实现A. 内核硬件抽象层(HAL)B. 微内核架构C. 嵌入式系统驱动程序开发D. 嵌入式系统实时性研究5. 嵌入式Linux系统文件系统与存储管理A. 文件系统基本概念B. 嵌入式Linux文件系统实现C. 存储管理技术D. 嵌入式系统数据安全6. 嵌入式Linux网络通信技术A. 网络通信协议分析B. 嵌入式Linux网络驱动程序开发C. 嵌入式Linux套接字编程D. 网络安全研究7. 嵌入式Linux系统跨平台开发技术A. 嵌入式Linux系统与Windows平台的互操作性技术B. 嵌入式Linux系统与macOS平台的互操作性技术C. 嵌入式Linux系统与Linux其他发行版的互操作性技术D. 嵌入式Linux系统全球化与本地化技术8. 嵌入式Linux系统项目实战A. 嵌入式Linux系统产品策划与设计B. 嵌入式Linux系统软件开发与测试C. 嵌入式Linux系统项目实施与运维D. 嵌入式Linux系统项目总结与反思9. 嵌入式Linux系统开发与应用相关技术标准与规范A. 嵌入式Linux系统开发规范B. 嵌入式Linux系统测试标准C. 嵌入式Linux系统文档编写规范D. 嵌入式Linux系统知识产权保护规范10. 嵌入式Linux系统开发环境搭建A. 安装Linux操作系统B. 配置开发环境C. 编写、编译和调试C/C++程序D. 使用集成开发环境(IDE)11. 嵌入式Linux系统编程基础A. 数据类型与运算符B. 控制结构与函数C. 指针与内存管理D. 文件操作与进程管理12. 嵌入式Linux应用程序开发A. 创建和控制线程B. 实现多任务处理C. 数据结构与算法D. 设计用户界面13. 嵌入式Linux系统启动与引导A. 启动过程B. 加载内核与根文件系统C. 系统初始化与配置D. 启动设备驱动程序14. 嵌入式Linux系统调试与诊断A. 使用调试工具B. 分析系统性能C. 调试程序错误D. 系统故障排除15. 嵌入式Linux网络编程A. 网络协议与数据结构B. 建立网络连接C. 数据传输与通信D. 网络安全与防火墙设置16. 嵌入式Linux系统资源管理A. 内存管理B. 文件系统C. 设备分配与管理D. 系统性能监控17. 嵌入式Linux项目实战A. 嵌入式Linux产品设计与实现B. 嵌入式Linux项目开发流程与方法C. 嵌入式Linux项目测试与评估D. 嵌入式Linux项目经验分享与交流18. 嵌入式Linux系统未来发展趋势A. 人工智能与物联网应用B. 5G与低功耗技术发展C. 自动驾驶与智能交通系统D. 绿色环保与可持续发展19. 嵌入式Linux系统开发环境搭建A. 安装Linux操作系统B. 配置开发环境C. 编写、编译、调试程序D. 连接目标板20. 嵌入式Linux系统编程基础A. C语言基础B. 汇编语言基础C. 嵌入式系统编程概念D. 嵌入式系统编程实例21. 嵌入式Linux系统驱动程序开发A. 驱动程序基本概念B. 驱动程序开发流程C. 驱动程序编写实例D. 驱动程序调试与测试22. 嵌入式Linux系统应用程序开发A. 嵌入式Linux应用程序设计原则B. 嵌入式Linux应用程序开发流程C. 嵌入式Linux应用程序实例D. 嵌入式Linux应用程序优化23. 嵌入式Linux系统文件系统与内存管理A. 嵌入式Linux文件系统基本概念B. 嵌入式Linux内存管理机制C. 嵌入式Linux文件系统实现D. 嵌入式Linux内存管理优化24. 嵌入式Linux系统网络编程A. 嵌入式Linux网络编程基础B. 嵌入式Linux套接字编程C. 嵌入式Linux网络应用开发D. 嵌入式Linux网络协议栈实现25. 嵌入式Linux系统设备驱动程序开发A. 设备驱动程序基本概念B. 嵌入式Linux设备驱动程序开发流程C. 嵌入式Linux设备驱动程序编写实例D. 嵌入式Linux设备驱动程序调试与测试26. 嵌入式Linux系统内核裁减与移植A. 嵌入式Linux内核裁减原理B. 嵌入式Linux内核移植方法C. 嵌入式Linux内核配置D. 嵌入式Linux内核集成27. 嵌入式Linux系统项目实战A. 嵌入式Linux系统开发项目需求分析B. 嵌入式Linux系统开发团队组建与分工C. 嵌入式Linux系统开发进度管理与质量控制D. 嵌入式Linux系统开发成果展示与评估28. 嵌入式Linux系统交叉平台开发环境建立A. 搭建交叉开发环境所需硬件设备B. 安装交叉开发工具软件C. 编写交叉平台软件开发框架D. 调试和优化交叉平台程序29. 嵌入式Linux系统应用程序开发技术A. 嵌入式Linux系统编程基础B. 嵌入式Linux系统进程与线程管理C. 嵌入式Linux系统内存管理D. 嵌入式Linux系统文件系统30. 嵌入式Linux系统网络编程A. 嵌入式Linux系统网络通信协议B. 嵌入式Linux系统套接字编程C. 嵌入式Linux系统网络驱动程序开发D. 嵌入式Linux系统网络安全31. 嵌入式Linux系统实时性技术A. 嵌入式Linux系统实时性概念及重要性B. 嵌入式Linux系统实时调度算法C. 嵌入式Linux系统实时任务设计D. 嵌入式Linux系统实时性能优化32. 嵌入式Linux系统低功耗技术A. 嵌入式Linux系统功耗概念及评估方法B. 嵌入式Linux系统低功耗硬件设计C. 嵌入式Linux系统低功耗软件优化D. 嵌入式Linux系统低功耗系统级设计33. 嵌入式Linux系统文件系统优化A. 嵌入式Linux系统文件系统概述B. 嵌入式Linux系统文件系统性能优化C. 嵌入式Linux系统文件系统安全性优化D. 嵌入式Linux系统文件系统可扩展性优化34. 嵌入式Linux系统内核定制与裁减A. 嵌入式Linux系统内核功能分析B. 嵌入式Linux系统内核配置与编译C. 嵌入式Linux系统内核裁减与移植D. 嵌入式Linux系统内核优化与升级35. 嵌入式Linux系统驱动程序开发A. 嵌入式Linux系统驱动程序基本概念B. 嵌入式Linux系统驱动程序开发流程C. 嵌入式Linux系统驱动程序编写规范D. 嵌入式Linux系统驱动程序测试与调试36. 嵌入式Linux系统项目实战案例分析A. 嵌入式Linux系统智能家居项目实战B. 嵌入式Linux系统物联网项目实战C. 嵌入式Linux系统汽车电子项目实战D. 嵌入式Linux系统航空航天项目实战37. 嵌入式Linux系统交叉开发技术A. 嵌入式Java技术B. 嵌入式Python技术C. 嵌入式C/C++技术D. 嵌入式汇编语言技术38. 嵌入式Linux系统驱动程序开发A. 驱动程序基本概念及分类B. 嵌入式Linux系统设备驱动程序开发流程C. 嵌入式Linux系统中断服务程序开发D. 嵌入式Linux系统硬件设备驱动程序调试与测试39. 嵌入式Linux系统文件系统开发A. 文件系统基本概念及分类B. 嵌入式Linux系统常用文件系统解析C. 嵌入式Linux系统文件系统优化与管理D. 嵌入式Linux系统用户认证与权限管理40. 嵌入式Linux系统进程与线程管理A. 进程与线程基本概念及区别B. 嵌入式Linux系统进程调度与进程通信C. 嵌入式Linux系统线程同步与互斥D. 嵌入式Linux系统实时性与并发性处理41. 嵌入式Linux系统网络编程A. 网络编程基础概念及协议分析B. 嵌入式Linux系统套接字编程C. 嵌入式Linux系统TCP/IP协议栈实现D. 嵌入式Linux系统网络设备驱动程序开发42. 嵌入式Linux系统图形用户界面(GUI)开发A. 嵌入式Linux系统GUI组件开发B. 嵌入式Linux系统事件处理与消息循环C. 嵌入式Linux系统多线程与同步D. 嵌入式Linux系统GUI性能优化43. 嵌入式Linux系统安全性设计A. 嵌入式Linux系统安全性概述B. 嵌入式Linux系统权限管理与访问控制C. 嵌入式Linux系统安全审计与监控D. 嵌入式Linux系统加密与解密技术44. 嵌入式Linux系统项目实战A. 嵌入式Linux系统智能家居控制系统设计B. 嵌入式Linux系统车载电子系统设计C. 嵌入式Linux系统工业自动化控制系统设计D. 嵌入式Linux系统医疗设备远程监控系统设计45. 嵌入式Linux系统未来发展趋势与挑战A. 嵌入式Linux系统与云计算、物联网融合B. 嵌入式Linux系统人工智能、机器学习应用C. 嵌入式Linux系统边缘计算技术发展D. 嵌入式Linux系统绿色环保与节能技术二、问答题1. 什么是嵌入式Linux系统?它的主要特点是什么?2. 嵌入式Linux系统开发流程通常包括哪些步骤?3. 嵌入式Linux系统中常用的开发工具有哪些?4. 嵌入式Linux系统中如何进行性能优化?5. 嵌入式Linux系统中如何进行故障排查与调试?6. 嵌入式Linux系统中如何保护知识产权?7. 嵌入式Linux系统中如何进行跨平台开发?8. 嵌入式Linux系统中如何进行可持续性与环保设计?参考答案选择题:1. ABCD2. ABCD3. ABCD4. ABCD5. ABCD6. ABCD7. ABCD8. ABCD9. ABCD10. ABCD11. ABCD 12. ABCD 13. ABCD 14. ABCD 15. ABCD 16. ABCD 17. ABCD 18. ABCD 19. ABCD 20. ABCD21. ABCD 22. ABCD 23. ABCD 24. ABCD 25. ABCD 26. ABCD 27. ABCD 28. ABCD 29. ABCD 30. ABCD31. ABCD 32. ABCD 33. ABCD 34. ABCD 35. ABCD 36. ABCD 37. ABCD 38. ABCD 39. ABCD 40. ABCD41. ABCD 42. ABCD 43. ABCD 44. ABCD 45. ABCD问答题:1. 什么是嵌入式Linux系统?它的主要特点是什么?嵌入式Linux系统是一种特殊的Linux操作系统,主要用于嵌入到各种硬件设备中。
嵌入式linux c开发常见笔试题目
嵌入式Linux C开发的常见笔试题目主要围绕C语言基础、Linux操作系统以及嵌入式系统开发等方面。
以下是一些可能的笔试题目:
1. 请解释C和C++的主要区别。
2. 描述一下静态变量和全局变量在内存中的分配情况。
3. 解释一下什么是预处理器以及它的主要作用。
4. 编写一个程序,实现两个整数的交换而不使用第三个变量。
5. 描述一下进程和线程的区别以及它们之间的关系。
6. 什么是死锁?请列举至少两种导致死锁的情况。
7. 请解释一下中断处理程序的工作原理。
8. 如何在Linux中创建一个新进程?
9. 描述一下Linux中的同步和异步机制。
10. 什么是RTOS?请列举至少两个RTOS的例子。
嵌入式Linux应用程序开发期末考试题库及答案
1. 国内嵌入式系统行业对“嵌入式系统”的定义是什么?如何理解?答:国内嵌入式行业一个普遍认同的定义是:以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能,可靠性,成本,体积,功耗严格要求的专业计算机系统。
从这个定义可以看出嵌入式系统是与应用紧密结合的,它具有很强的专用性,必须结合实际系统需求进行合理的剪裁利用。
因此有人把嵌入式系统比作是一个针对特定的应用而“量身定做”的专业计算机系统。
2.嵌入式系统是从何时产生的,简述其发展历程。
答:从20世纪70年代单片机的出现到目前各式各样的嵌入式微处理器,微控制器的大规模应用,嵌入式系统已经有了30多年的发展历史。
嵌入式系统的出现最初是基于单片机的。
Intel公司1971年开发出第一片具有4位总线结构的微处理器4004,可以说是嵌入式系统的萌芽阶段。
80年代初的8051是单片机历史上值得纪念的一页。
20世纪80年代早期,出现了商业级的“实时操作系统内核”,在实时内核下编写应用软件可以使新产品的沿着更快,更节省资金。
20世纪90年代实时内核发展为实时多任务操作系统。
步入21世纪以来,嵌入式系统得到了极大的发展。
在硬件上,MCU的性能得到了极大的提升,特别是ARM技术的出现与完善,为嵌入式操作系统提供了功能强大的硬件载体,将嵌入式系统推向了一个崭新的阶段。
3.当前最常用的源码开放的嵌入式操作系统有哪些,请举出两例,并分析其特点。
答:主要有嵌入式Linux和嵌入式实时操作内核uC/OS-II嵌入式Linux操作系统是针对嵌入式微控制器的特点而量身定做的一种Linux 操作系统,包括常用的嵌入式通信协议和常用驱动,支持多种文件系统。
主要有以下特点:源码开放,易于移植,内核小,功能强大,运行稳定,效率高等。
uC/OS是源码工卡的实时嵌入式系统内核,主要有以下特点:源码公开,可移植性强,可固化,可剪裁,占先式,多任务,可确定性,提供系统服务等。
4.举例说明嵌入式设备在工控设备中的应用。
嵌入式笔试题目
1、在嵌入式系统中,以下哪个组件负责执行程序指令?
A. 内存
B. 中央处理器(CPU)
C. 输入/输出设备
D. 存储设备(答案:B)
2、以下哪种类型的存储器在掉电后会丢失数据?
A. SRAM
B. DRAM
C. Flash ROM
D. EEPROM(答案:B)
3、在嵌入式系统设计中,I2C总线主要用于什么类型的通信?
A. 高速数据传输
B. 低速串行通信
C. 并行数据传输
D. 高频信号处理(答案:B)
4、下列哪个协议是用于网络通信,特别是嵌入式设备与互联网之间的通信?
A. SPI
B. I2C
C. TCP/IP
D. UART(答案:C)
5、在嵌入式Linux系统中,Bootloader的主要作用是?
A. 加载并启动操作系统内核
B. 提供图形用户界面
C. 管理系统文件
D. 执行应用程序(答案:A)
6、以下哪种编程语言常用于嵌入式系统的底层开发?
A. Python
B. Java
C. C/C++
D. JavaScript(答案:C)
7、在嵌入式系统中,中断的作用是什么?
A. 提高系统处理速度
B. 使系统进入低功耗模式
C. 允许CPU在处理其他任务时响应外部事件
D. 增加系统内存(答案:C)
8、下列哪项技术不是用于降低嵌入式系统功耗的?
A. 睡眠模式
B. 动态电压和频率调整(DVFS)
C. 增加处理器核心数量
D. 定时唤醒机制(答案:C)。
嵌入式操作系统应用开发考试试卷
嵌入式操作系统应用开发考试试卷(答案见尾页)一、选择题1. 嵌入式操作系统基础概念(单选)A. Windows CEB. VxWorksC. QNXD. Windows XP2. 嵌入式系统硬件组成(多选)A. CPUB. 内存C. 存储器D. 输入输出设备3. 嵌入式操作系统种类(多选)A. 实时操作系统B. 分时操作系统C. 批处理操作系统D. 微软Windows4. 嵌入式操作系统开发环境搭建(单选)A. 集成开发环境(IDE)B. 开发板C. 模拟器D. 实际板5. 嵌入式系统应用程序开发流程(单选)A. 编写源代码B. 编译链接C. 调试程序D. 部署运行6. 嵌入式系统驱动程序开发(单选)A. 汇编语言B. C语言C. Java语言D. Python语言7. 嵌入式系统实时性要求及实现方法(单选)A. 时间片轮转B. 优先级调度C. 最短作业优先D. 高优先级优先调度8. 嵌入式系统网络通信协议(多选)A. TCP/IPB. UDPC. ICMPD. ARP9. 嵌入式系统应用案例分析(多选)A. 智能家居系统B. 智能穿戴设备C. 工业自动化控制D. 车载电子10. 嵌入式操作系统未来发展前景(单选)A. AI与IoT融合B. 5G技术C. 硬件性能提升D. 软件优化11. 嵌入式操作系统的基本特征是什么?A. 多任务处理B. 中断处理C. 实时响应D. 以上都是12. 嵌入式操作系统的主要应用领域有哪些?A. 消费电子产品B. 工业控制C. 汽车电子D. A和B13. 嵌入式系统硬件平台主要包括哪些?A. CPUB. 内存C. 存储器D. 输入输出设备14. 嵌入式操作系统中的任务调度算法有哪几种?A. 先来先服务B. 最短剩余时间优先C. 高优先级优先调度D. 时间片轮转15. 嵌入式系统中广泛使用的编程语言有哪些?A. CB. C++D. Python16. 嵌入式操作系统通常采用哪种文件系统?A. Windows文件系统B. Unix文件系统C. Linux文件系统D. Flash文件系统17. 嵌入式系统网络通信中常用的协议有哪些?A. TCP/IPB. UDPC. HTTPD. FTP18. 嵌入式系统在物联网中的作用是什么?A. 数据处理B. 设备控制C. 通信连接D. 以上都是19. 嵌入式操作系统开发环境通常包括哪些工具?A. 集成开发环境(IDE)B. 调试工具C. 文档工具D. 以上都是20. 嵌入式操作系统开发需要掌握哪些基本技能?A. 编程语言B. 系统架构C. 系统调试D. 以上都是21. 嵌入式操作系统的基本特征是什么?A. 多任务处理B. 中断处理C. 实时响应D. 以上都是22. 嵌入式系统中常用的编程语言有哪些?A. C语言B. C++C. JavaD. Python23. 嵌入式操作系统的内存管理方式主要有哪几种?A. 固定内存分配B. 动态内存分配C. 页式存储管理D. 段式存储管理24. 嵌入式系统通常用于哪些设备?A. 消费电子产品B. 工业控制系统C. 汽车电子D. 以上都是25. 嵌入式操作系统中的任务调度算法主要有哪几种?A. 先来先服务B. 最短剩余时间优先C. 高优先级优先调度D. 时间片轮转26. 嵌入式系统网络通信中,常用的协议有哪些?A. TCP/IPB. UDPC. ICMPD. HTTP27. 嵌入式系统中,进程与线程的区别是什么?A. 进程是操作系统分配资源和调度的基本单位B. 线程是操作系统分配资源和调度的基本单位C. 进程有独立的地址空间D. 线程有独立的地址空间28. 嵌入式系统中,硬件抽象层(HAL)的作用是什么?A. 提供统一的硬件接口B. 提供设备驱动程序C. 提供系统调用接口D. 提供用户应用程序接口29. 嵌入式系统中,文件系统的主要功能是什么?A. 存储和管理文件B. 运行应用程序C. 管理系统资源D. 提供用户界面30. 嵌入式操作系统开发中,常见的调试工具有哪些?A. GDBB. J-LinkC. IARD. Keil31. 嵌入式操作系统的基本特性不包括哪一项?A. 可执行性B. 多道程序设计C. 实时性D. 共享性32. 嵌入式系统中广泛使用的编程语言是:A. CB. C++D. Java33. 嵌入式系统通常用于哪种类型的设备?A. 消费电子产品B. 工业控制系统C. 汽车电子D. A和B34. 嵌入式操作系统的内核与普通操作系统的内核相比,特点是什么?A. 更加简化B. 功能强大C. 更加优化D. 更加封闭35. 在嵌入式操作系统开发中,通常会使用哪两种开发工具?A. 集成开发环境(IDE)B. 交叉平台开发工具C. 汇编语言D. C语言36. 嵌入式系统应用程序通常在哪种类型的存储器中运行?A. RAMB. ROMC. Flash MemoryD. Hard Disk37. 嵌入式操作系统通常提供以下哪种类型的设备驱动?A. 字符设备驱动B. 流设备驱动C. 图形用户界面(GUI)驱动D. 驱动程序38. 在嵌入式系统开发中,为什么需要交叉平台开发工具?A. 跨平台兼容性B. 硬件限制C. 成本效益D. 开发效率39. 嵌入式操作系统中的任务调度通常是基于优先级算法,这种算法考虑了任务的哪些因素?A. 优先级B. 执行时间C. 可抢占性D. 资源需求40. 嵌入式系统开发中,为什么需要对代码进行严格的重编译?A. 适应不同硬件平台B. 支持模块化设计C. 提高系统安全性D. 保证代码质量二、问答题1. 什么是嵌入式操作系统?请简要描述其特点。
《嵌入式LInux设计与开发》练习题
练习题(一)一、填空题1.__________________________________ 嵌入式系统一般包括 _______________ 、嵌入式操作系统和 ______________________________ 。
2.Arm7内核采用的是_______________ 体系结构。
3.S3C2410X芯片包含_____________ 通道PWM定时器和______________ 道内部计时器。
4.gcc的编译流程分为预处理.编译、 ______________ 和______________5.C语言中的预处理语句是以符号 _____________ 开头的。
6._________________________________________________ 多任务系统中有3个功能单位:任务、 _______________________________________________ 和____________ °二、选择题下列操作系统中具有Windows 图形界面的是( )A. VxWorksB. QNXC. Windows CE D・ Linux2•使vi编辑器处于可编辑状态的命令是( )A. r B・ p C. i D. b3 ・下列选项中,能帮助用户生成makefile 的工具是( )A. gcc B・ autotools C. gdb D. vi4.可以使用TFTP通过网络下载文件的命令是( )A. runB. tftpbootC. sleepD. mv5・下列不属于Linux系统中线程的是( )A.用户级现程B.网络级线程C.轻量级线程D.内核级线程6.下列选项中,常用于网络中不同机器之间的进程间通信的是& TCP/IP 参考模型包含几层A. 4B. 5C. 6D ・7()9.在TCP 中,用于发送数据的函数是()A. bind ()B. send ()C. accept ()D. recv ()10 .下列选项中,不 属于 Linux系统的设备分类的 是( )A.字符设备B.数据设备C.块设备D.网络设备三、判断对错1. Arm9采用的是5级指令流水线。
嵌入式linux c开发常见笔试题目
嵌入式linux c开发常见笔试题目嵌入式Linux C开发是一个广泛应用于各种嵌入式设备的技术领域,也是许多企业在招聘时重点考察的技能。
在笔试中,考察的内容通常包括C语言基础、嵌入式系统知识、Linux系统编程等方面。
以下是一些常见的嵌入式Linux C开发笔试题目,供大家参考。
1. C语言基础在嵌入式Linux C开发中,对C语言的熟练掌握是非常重要的。
下面是一些与C语言基础相关的题目:1.1 请写出C语言中的数据类型,并解释其含义。
1.2 请解释C语言中的指针,并写出指针的声明、赋值和使用的例子。
1.3 请解释C语言中的结构体,并写出结构体的定义和使用的例子。
2. 嵌入式系统知识嵌入式系统是指在限定的资源和空间中运行的计算机系统,对于嵌入式Linux C开发来说,对嵌入式系统的了解是必不可少的。
下面是一些与嵌入式系统知识相关的题目:2.1 请解释嵌入式系统的特点,并举例说明。
2.2 请简要解释Linux内核的作用,并说明为什么在嵌入式系统中常使用Linux内核。
2.3 请解释交叉编译的概念,并说明为什么在嵌入式Linux C开发中常使用交叉编译。
3. Linux系统编程Linux系统编程是指在Linux系统上进行程序开发和调试的技术。
对于嵌入式Linux C开发者来说,熟悉Linux系统编程是必备的技能。
下面是一些与Linux系统编程相关的题目:3.1 请解释Linux系统中的进程和线程,并说明它们的区别和联系。
3.2 请解释Linux文件系统的层次结构,并说明每个层次的作用。
3.3 请解释Linux中的系统调用,并举例说明几个常用的系统调用。
4. 嵌入式Linux应用开发嵌入式Linux应用开发是指在嵌入式Linux系统上进行应用程序开发的技术。
下面是一些与嵌入式Linux应用开发相关的题目:4.1 请编写一个在嵌入式Linux系统上运行的Hello World程序。
4.2 请解释Linux设备驱动程序的概念,并说明为什么在嵌入式Linux应用开发中常涉及到设备驱动程序。
linux 嵌入式 笔试题
以下是一些可能的Linux 嵌入式笔试题:
1. 什么是Linux 嵌入式系统?请简要描述其特点。
2. 请解释以下命令的含义:
* `chmod +x filename`
* `mv oldname.txt newname.txt`
* `rm filename`
* `cp file1.txt file2.txt`
3. 在Linux 系统中,如何查看当前目录下的文件列表?
4. 如何查看当前系统中的所有进程?
5. 如何使用命令行工具进行文件搜索?
6. 请解释以下文件系统结构:
* `/bin`
* `/etc`
* `/home`
* `/usr`
7. 在Linux 系统中,如何设置环境变量?
8. 如何查看系统版本和硬件信息?
9. 如何安装软件包?请给出两种方法。
10. 如何配置网络连接?
11. 如何设置系统时区?
12. 如何使用SSH 进行远程登录?
13. 请解释以下文件权限的含义:
* `-rwxr-xr-x`
* `-rw-r--r--`
14. 如何查看磁盘使用情况?
15. 如何进行文件备份和恢复?
16. 如何使用命令行工具进行文本编辑?
17. 如何使用命令行工具进行数据统计和分析?
18. 请解释以下网络协议的含义:
* TCP/IP
* HTTP
* FTP
* SMTP
19. 如何配置防火墙?
20. 如何进行系统备份和恢复?。
嵌入式LInux设计与开发练习题
嵌入式LInux设计与开发练习题练习题(一)一、填空题1.嵌入式系统一般包括_____________、嵌入式操作系统和。
2.Arm7内核采用的是体系结构。
3.S3C2410X芯片包含通道PWM定时器和____________通道内部计时器。
4.gcc的编译流程分为预处理、编译、和______________。
5.C语言中的预处理语句是以符号开头的。
6.多任务系统中有3个功能单位:任务、和____________。
二、选择题1.下列操作系统中,具有Windows图形界面的是()A.VxWorks B.QNX C.Windows CE D.Linux2.使vi编辑器处于可编辑状态的命令是()A.r B.p C.i D.b3.下列选项中,能帮助用户生成makefile的工具是()A.gcc B.autotools C.gdb D.vi4.可以使用TFTP通过网络下载文件的命令是()A.run B.tftpboot C.sleep D.mv5.下列不属于Linux系统中线程的是()A.用户级现程B.网络级线程 C.轻量级线程 D.内核级线程6.下列选项中,常用于网络中不同机器之间的进程间通信的是()A.套接字 B.管道 C.信号 D.信号量7.使用有关线程操作的函数时必须包含的头文件是()A. B. C. D.8.TCP/IP参考模型包含几层()A.4 B.5 C.6 D.79.在TCP中,用于发送数据的函数是()A.bind() B.send () C.accept() D.recv()10.下列选项中,不属于Linux系统的设备分类的是()A.字符设备 B.数据设备 C.块设备 D.网络设备三、判断对错1.Arm9采用的是5级指令流水线。
()2.Vi编辑器有4种模式:标准模式、插入模式、命令行模式和可视模式。
()3.NFS文件系统的目的是让不同的机器、不同的操作系统之间可以共享文件。
()4.一个线程可以包含多个进程。
嵌入式Linux应用程序开发过程考核【附答案】
过程考核一1、①ARM7采用采用3级流水线,而ARM9采用5级流水线,其时钟频率更高,指令执行效率也有了较大提高②ARM7采用冯诺依曼结构,而ARM9采用哈佛结构,支持指令Cache和数据Cache,具有更高的数据处理能力③ARM9支持MMU,能够真正实现内存保护,所以比ARM7具有更强的稳定性和可靠性2、在一种计算机平台运行的编译程序,能编译出在另外一平台上执行的代码,我们就称这种编译器支持交叉编译。
这个编译过程就叫交叉编译.原因:由于一般通用计算机拥有非常丰富的系统资源、使用方便的集成开发环境和调试工具等,而嵌入式系统的系统资源非常紧缺,无法在其上运行相关的编译工具,因此,嵌入式系统的开发需要借助宿主机(通用计算机)来编译出目标机的可执行代码。
3、假设现有三个c程序main.c,mytool1.c,mytool2.c,其中主程序在main.c中,编译命令如下,试编写makefile文件。
gcc-c main.cgcc-c mytool1.c gcc-c mytool2.c gcc-o main main.o mytool1.o mytool2.o要求:使用自定义变量及自动变量解:OBJS:=main.o mytool1.o mytool2.oCC:=gcc main:$(OBJS)$(CC)-o$@$∧main.o:main.c mytool1.h mytool2.h$(CC)-c$<mytool1.o:mytool1.c mytool1.h$(CC)-c$<mytool2.o:mytool2.c mytool2.h$(CC)-c$<4、文件比较命令:diff[选项]文件1文件2补丁命令:patch[选项][待patch的文件[patch文件]]关系:patch命令跟diff配合使用,把生成的补丁文件应用到现有代码上。
5、列出gcc编译器常用参数,并举例说明其用法。
-c选项:只编译不链接,生成目标文件“.o”-S选项:只编译不汇编,生成汇编代码,-E选项:只进行预编译,不进行其他处理-o file:将file文件指定为输出文件-g:在可执行程序中包含便准调试信息例如:gcc–o Test Test.c执行该指令会在当前目录下生成一个名为Test的可执行文件过程考核二1、bootloader第二阶段主要工作有哪些?①用汇编语言跳转到main()入口函数②初始化本阶段要使用到的硬件设备③检测系统的内存映射④加载内核映像和根文件系统映像⑤设置内核的启动参数2、列出底层文件I0及标准IO的主要函数,并说明这两种IO操作的区别。
嵌入式linux应用程序开发期末考试题库及答案(超经典)
嵌入式linux 应用程序开发期末考试题库及答案、判断题(正确的打“√,”错误的打“×)”】1、学习嵌入式技术不需要硬件基础知识,只需要会软件编程即可。
】 2、 Contex -M3 系列处理器内核采用了哈佛结构。
】3、我们学习所用的台式电脑及笔记本电脑属于嵌入式系统。
】4、小明的手机能拍照并能保存照片,其手机内部芯片会利用到模数转换器。
】 5、嵌入式 Linux 操作系统属于免费的操作系统。
】6、在嵌入式电子产品开发过程中我们要尽可能使用高档的嵌入式处理器。
】7、嵌入式系统一般对低功耗要求不高。
】 8、 windows XP 操作系统属于嵌入式操作系统。
】9、在 Linux C 语言编程中,我们常用的编译器是 GDB ,调试器是 GCC。
】 10 、我们在新建一个 makefile 文件时,其文件名可以命名为 Makefile 或makefile 。
】 11、Shell 只是一种命令语言,不是属于程序设计语言。
】 12、Contex-M3 系列处理器内核采用了冯 ·诺依曼结构。
】 13、#!/bin/bash 此句中的“#”的作用为注释。
】 14 、一个 shell 脚本只有一种执行方式: ./xxx.sh 。
】 15、嵌入式 linux 操作系统属于免费的操作系统。
】16、进程是一个程序的一次执行的过程。
】17、嵌入式系统一般对低功耗要求不高。
】18、所有的电子设备都属于嵌入式设备。
】19、移植操作系统时需要修改操作系统中与处理器直接相关的程序。
】20、嵌入式开发需要专门的软件和硬件设备。
】 21、可以用touch 命令创建一个新文件。
】22、如果删除虚拟机里面的操作系统的系统文件将会影响外面主机的正常运行。
】 23、#!/bin/bash 此句中的“#的”作用为注释。
】 24 、一个 shell 脚本只有一种运行方式: sh xxx.sh 。
】 25、在 Linux 中,一切都是文件。
嵌入式Linux应用程序设计复习题
.一、选择题1.下面哪个命令是用来定义shell的全局变量( D )A. exportfsB. aliasC. exportsD. export2. 将当前目录下的文件shell.sh移动到目录/home/linux下的命令为 B 。
A. cp shell.sh /home/linuxB. mv shell.sh /home/linuxC. lls shell.sh / home/linux/shell.shD. mv /root/shell.sh /home/linux/shell.sh3.如果要列出一个目录下的所有文件需要使用命令行( C )。
A. ls –lB. ls-tC. ls –aD. ls –d4.Linux 下Makefile文件中,表示第一个依赖目标的系统变量是(C )A.$@B.$*C.$<D.$#5.32位系统下,定义一个指向字符类型的变量short i,那么sizeof(i)的值是( b )A.1B.2C.3D.46.在用ls –l 查看文件属性时,字符设备文件类型的标志是( A )A.cB.bC.sD.l7. 在linux下进行shell编程时,注释符是 A 。
A. #B. //C. /* */D. 以上都不对8. 任何时候用户需要回到用户主目录时可以使用命令 A 。
A. cdB. pwdC. pathD. cd .9. 下列属于文件包含的命令是_____C____。
A. #define N 25B. #endifC. #include "stdio.h"D. #else10. 下列关于Linux安装的说法中,不正确的是 C 。
A.如果计算机的内存为128MB,则SWAP分区(交换分区)的大小通常设定为256M。
B.安装时Linux分区的文件系统类型一般为ext2或ext3。
C.安装时要进行磁盘分区,如果选择“自动分区”,系统会自动保留硬盘上原来的数据。
嵌入式LINU试卷试题.docx
一、单项选择题1.在宿主机上开启tftp服务时,所要修改的配置文件为()A. /etc/exportsB. /etc/xinetd.dC.以上都不对D. /etc/xinetd.d/tftp答案: D2.内核在配置结束后,会将用户的选择结果保存在文件()中A. defconfigB. configC. defaultD. .config答案: D3. u-boot指令中,下载文件的命令是()A. setenvB. resetC. tftpD. ping答案: C4. Kconfig文件中生成新的配置菜单使用()A. menuB. helpC. defaultD. config答案: A5.在内核解压缩目录的Makefile文件中修改的ARCH变量实际是在指定()A.优化参数B.目标系统架构C.交叉编译器D.编译参数答案: B6.在构建嵌入式linux平台过程中,具备开发能力的计算机我们称之为()A.计算机B.宿主机C.服务器D.目标系统答案: B7.内核在编译时所依赖的编译规则文件是()A. .configB. MakefileC. MakeD. File答案: B8. linux下所使用的串口调试工具是()A. gccB. nfsC. minicomD. tftp答案: C9.内核配置菜单生成时所依赖的文件是()A. configB. KconfigC. MakefileD. kconfig答案: B10. U-Boot下tftp下载文件到目标系统的内存当中,在内存当中默认的地址是()A. 0x30000000B. 0x30008000C. 0x30000100D. 0x30080000答案: B11.在操作过程中,内核编译所生成的内核压缩可执行文件是()A. s3c2440B. linux-2.6.32.2C. zImageD.选项均不真确答案: C12.系统环境变量中用来作为可执行文件搜索路径的变量是();A. PWDB. HISTORY_SIZEC. LD_LIBRARY_PATHD. PATH答案: D13.创建设备文件有手动创建与自动创建之分,那么手动创建时标示设备所属种类时是用()来区分的。
嵌入式Linux应用程序开发过程考核【附答案】
过程考核一1、①ARM7采用采用3级流水线,而ARM9采用5级流水线,其时钟频率更高,指令执行效率也有了较大提高②ARM7采用冯诺依曼结构,而ARM9采用哈佛结构,支持指令Cache与数据Cache ,具有更高的数据处理能力③ARM9支持MMU,能够真正实现内存保护,所以比ARM7具有更强的稳定性与可靠性2、在一种计算机平台运行的编译程序,能编译出在另外一平台上执行的代码,我们就称这种编译器支持交叉编译。
这个编译过程就叫交叉编译、原因:由于一般通用计算机拥有非常丰富的系统资源、使用方便的集成开发环境与调试工具等,而嵌入式系统的系统资源非常紧缺,无法在其上运行相关的编译工具,因此,嵌入式系统的开发需要借助宿主机(通用计算机)来编译出目标机的可执行代码。
3、假设现有三个 c 程序 main、c, mytool1、c, mytool2、c, 其中主程序在 main、c中,编译命令如下,试编写makefile文件。
gcc -c main、cgcc -c mytool1、c gcc -c mytool2、c gcc -o main main、o mytool1、o mytool2、o 要求:使用自定义变量及自动变量解:OBJS := main、o mytool1、o mytool2、oCC :=gcc main:$(OBJS) $(CC) -o $@ $∧main、o:main、c mytool1、h mytool2、h $(CC) -c $<mytool1、o:mytool1、c mytool1、h $(CC) -c $<mytool2、o:mytool2、c mytool2、h $(CC) -c $<4、文件比较命令:diff[选项] 文件1 文件2补丁命令:patch [选项] [待patch的文件[patch文件]]关系:patch命令跟diff配合使用,把生成的补丁文件应用到现有代码上。
嵌入式Linux应用程序开发测试题
嵌入式L i n u x应用程序开发测试题work Information Technology Company.2020YEAR嵌入式Linux应用程序开发测试题(14级嵌入式方向专用)一、选择题1、下列哪一项不是嵌入式操作系统的特点DA、占有资源少B、低成本C、高可靠性D、交互性2、在Linux内核配置过程中,下面哪项命令采用的是基于图形窗口模式的配置界面CA、make configB、make menuconfigC、make xconfigD、make oldconfig3、在Linux内核配置过程中,下面哪项命令建立依赖关系CA、make configB、make menuconfigC、make depD、make clean4、交叉编译器中,下面哪项不是必需包含的DA、glibcB、gccC、binutilsD、tmake5、内核的编译主要步骤不包括下面哪项DA、内核配置B、建立依存关系C、建立内核D、加载内核6、内核编译时选项前的尖括号中可以是空,*,M,其中*表示CA、选项将编译为模块B、不包含选项C、包含选项7、Bootloader的stage1阶段主要完成的工作不包括下面哪项DA、基本的硬件初始化B、为加载stage2准备RAM空间C、拷贝stage2到RAM中D、用汇编语言跳转到main入口函数8、GCC的正确编译流程为AA、预处理-编译-汇编-链接B、预处理-编译-链接-汇编C、预处理-链接-编译-汇编D、编译-预处理-汇编-链接9、如需GCC提供编译过程中所有有用的报警信息,则在编译时应加入选项BA、-wB、-WallC、-werrorD、-error10、下面哪些与GDB相关的说法是错误的BA、GDB能调试可执行文件B、GDB能调试源代码C、GDB对编译过程有要求 D、GDB支持交叉调试11、在GDB调试过程中,使用下面哪项命令设置断点,其中m代表行号AA、b mB、c mC、n mD、s m12、open函数原型中的O_RDWR标志表示文件打开方式为CA、只读方式打开文件B、可写方式打开文件C、读写方式打开文件D、以添加方式打开文件,在打开文件的同时,文件指针指向文件末尾13、在Linux操作系统中,串口设备的设备名一般为CA、com1B、port1C、ttyS0D、serl114、下面哪项对Linux操作系统下fork函数的描述是错误的DA、fork函数执行一次返回两个值B、新进程称为子进程,而原进程称为父进程C、父进程返回值为子进程的进程号D、子进程返回值为父进程的进程号15、编写守护进程的第一步为AA、创建子进程,父进程退出B、在子进程中创建新会话C、改变当前目录为根目录D、关闭文件描述符16、在关于TCP/UDP的描述中,下面哪项是错误的CA、TCP数据传输实现了从一个应用程序到另一个应用程序的数据传递B、TCP对话通过三次握手来完成初始化C、UDP即用户数据报协议是一种面向连接的协议D、一个UDP应用可同时作为应用的客户或服务器方17、常见的socket类型中不包括下面哪项CA、SOCK_STREAMB、SOCK_DGRAMC、SOCK_DTRAND、SOCK_RAW18、以下哪项不是autotools系列工具之中的一种。
《嵌入式Linux应用与开发》期终考试试卷
适用专业:1、当我们使用GCC命令编译应用程序时,如果只编译并生成目标文件,如由test.c源文件生成test.o目标文件,应当在命令后使用()选项。
A、–oB、–cC、–SD、-E2、为了得到所有的命令行输入的参数,我们可以使用变量()。
A、$@B、$#C、$0D、$!3、在linux下进行shell编程时,注释符是()。
A、#B、//C、/* */D、以上都不对4、用GCC编译一个名为“HelloWorld.c”的C程序文件,编译后执行文件为“Hello”,则相应的编译命令是以下哪一项()。
A、gcc –i HelloWorld.c HelloB、gcc –o Hello helloWorld.cC、gcc –o HelloWorld.c HelloD、gcc –i Hello HelloWorld.c5、通过文件名存取文件时,文件系统内部的操作过程是通过()。
A、文件在目录中查找文件数据存取位置。
B、文件名直接找到文件的数据,进行存取操作。
C、文件名在目录中查找对应的i节点,通过i节点存取文件数据。
D、文件名在目录中查找对应的超级块,在超级块查找对应i节点,通过i节点存取文件数据。
6、Linux将存储设备和输入/输出均看做文件来操作,()不是以文件的形式出现。
A、目录B、软链接C、i节点表D、网络适配器7、ARM7DMI的工作状态包括()。
A、测试状态和运行状态B、挂起状态和就绪状态C、就绪状态和运行状态D、ARM状态和Thumb状态8、下面说法不正确的是()。
A、shell程序编写完后还需要用gcc编译器编译B、可以通过shell程序作为sh命令的输入来执行shell程序C、shell程序中定义的函数不能有参数D、Linux是免费使用和自由传播的类UNIX操作系统,但它并不是没有版权9、下面哪个系统目录中包含Linux使用的外部设备()。
A、/binB、/devC、/bootD、/home10、删除文件命令为()。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
嵌入式Linux应用程序设计(试题)1、嵌入式linux操作系统的特点(多选) ABCDEA、低廉性B、广泛性C、可移植性好D、良好的网络支持E、实时性好2、Linux的基本思想有两点:A、一切都是文件;B、每个软件都有确定的用途。
3、嵌入式Linux系统构成:嵌入式微处理器,外围硬件设备,嵌入式操作系统,用户应用程序。
4、硬盘分区一般分为:主分区,扩展分区,逻辑分区,交换分区5、主分区和扩展分区的最大的区别:CA、大小不一样B、挂载点不一样C、主分区的作用就是用来进行启动操作系统的,因此引导程序都应该存放在主分区上。
D、主分区在硬盘物理位置的最前面6、Linux分区类型默认的是:CA. vfatB. ext2/ext3C. swapD. dos7、如何从当前系统中卸载一个已装载的文件系统 AA. umount [挂载点目录]B. dismountC. mount –u [挂载点目录]D. 从 /etc/fstab 中删除这个文件系统项8、用户切换指令是: AA、suB、sudoC、useraddD、userdel9、查看当前系统中的进程指令 AA、psB、killC、catD、man10、下面杀死一个ID号为9号的进程的操作正确的是 CA、ps -efB、kill 9C、kill -9 9D、rm 911、使用重定向来把ls输出保存到文件test.txt中:AA、ls > test.txtB、ls < test.txtC、ls | test.txtD、ls | grep test.txt12、使用重定向来把test.txt文件中内容输出:BA、more > test.txtB、more < test.txtC、more | test.txtD、more | grep test.txt13、解压文件tar.tar.gz:CA、tar -zxvf tar.tar.gzB、tar -jxvf tar.tar.gzC、tar -cxvf tar.tar.gzD、tar -jvf tar.tar.gz14、把目录/aaa内文件及目录的压缩到文件tar.tar.gz:DA、tar -zxvf tar.tar.gz /aaaB、tar -jxvf tar.tar.gz /aaaC、tar -cxvf tar.tar.gz /aaaD、tar -cvf tar.tar.gz /aaa15、vi 有几种模式:三种模式16、vi中的操作指令::w 保存:q 退出:q! 强行退出:wq 保存退出:w [filename] 保存到filename文件中:set nu 显示行号,设定之后,会在每一行的前面显示对应行号:set nonu 取消行号显示17、Shell是:命令语言,命令解释程序及程序设计语言的统称。
它不仅拥有自己内建的命令集,同时也能被系统中其他应用程序所调用18、Shell中使用变量无需事先声明,同时变量名的命名须遵循如下规则:BA、首个字符必须为字母(a-z,A-Z)B、中间不能有空格,可以使用下划线(_)C、不能使用标点符号D、不能使用bash里的关键字(可用help命令查看保留关键字)19、Shell中如何给变量赋值:使用符号“=”来给变量赋值19、Shell中特殊符号的意义:# - 注释符号; - 结束符"" - 字符串符号'' - char类型的字符\ - 转义符/ - 目录` - 完全匹配* - 通配符20、使用“ ./ ”命令会执行该脚本,同时显示所有变量的值21、使用“ Wall ”命令会返回所有语法错误22、Makefile基本结构是:需要make工具创建目标体,通常是目标文件或可执行文件。
要创建的目标体所依赖的文件。
创建每个目标体需要运行的命令。
23、列出了 Makefile中常见预定义变量及其部分默认值24、常用的make命令行选项25、gcc的编译流程分为了 4个步骤,分别为:预处理,编译,汇编,连接26、gcc选项-c的作用是:只编译,不连接27、gcc选项-S的作用是:只编译,不汇编28、gcc选项-E的作用是:只进行预编译,不做其他处理29、gcc选项-g的作用是:产生符号调试工具所必要的符号资讯。
30、gcc选项-I dir的作用是:将dir所指出的目录加入到程序头文件目录列表中。
31、gcc选项-L dir的作用是:将dir所指出的牡蛎加入到程序函数档案库文件的目录列表中,是在连接过程中使用的参数。
32、gcc选项-llib的作用是:连接名为lib的库文件。
33、gcc选项-Wall的作用是:允许发出gcc 提供的所有有用的报警信息。
34、gcc选项-std=gnu99的作用是:支持GNU99的编译器,还有一种是C99 。
35、安装交叉编译器的步骤:命令格式含义AR 库文件维护程序的名称AS 汇编程序的名称CC C编译器的名称CPP C预编译器的名称CXX C++编译器的名称RM 文件删除程序的名称ARFLAGS库文件维护程序的选项ASFLAGS汇编程序的选项CFLAGS C编译器的选项CPPFLAGSC预编译器的选项CXXFLA GS C++编译器的选项-Cdir读入指定目录下的Makefile-ffile读入当前目录下的file文件作为Makefile-i 忽略所有的命令执行错误-Idir指定被包含的Makefile所在目录-n 只打印要执行的命令,但不执行这些命令-p 显示make变量数据库和隐含规则-s 在执行命令时不显示命令-w 如果make在执行过程中改变目录,则打印当前目录名先解压配置环境变量在~/.bashrc这个文件中把执行文件的路径写入配置后需要重新加载source ~/.bashrc,之后就可以用这个进行编译36、Linux下的minicom和Windows下的超级终端的作用是:Linux的超级终端是对内核的操作,是一个命令的集合,Windows下的超级终端是执行命令37、在使用GDB调试程序时,如何设置断点:b num(在第num行加上断点)38、在使用GDB调试程序时,如何运行程序:r39、在使用GDB调试程序时,如何实现从指定代码位置开始单步运行:n39、在使用GDB调试程序时,如何查看断点处的相关变量值:info b40、举例说明野指针的产生原因及防范方法在数组越界之后就会产生野指针。
一般遇到这种情况之后我们尽量是数组不越界。
41、内存泄漏的防范做到随时关闭文件描述符,套接字描述符,做到关闭不用的资源42、什么是系统调用系统调用是指操作系统提供用户程序调用的一组“特殊”接口,相当于API43、标准I/O和低级I/O的区别标准I/O有缓冲区低级I/O没有缓冲区44、什么是进程进程是操作系统结构的基础,是一个执行的程序;45、简述创建进程的方法用fork函数来创建进程46、管道的读规则、管道的写规则父子进程在运行时,它们的先后次序并不能保证,因此,在这里为了保证父进程已经关闭了读描述符,可在子进程中调用sleep函数。
47、有名管道的打开规则、有名管道的读规则、有名管道的写规则只有在管道的读端存在时向管道中写入数据才有意义向管道中写入数据时,linux将不保证写入的原子性,管道缓冲区一有空闲区域,写进程就会试图向管道写入数据。
如果读进程不读取管道缓冲区中的数据,那么写操作将会一直阻塞。
48、信号的生命周期信号的生命周期是信号的产生,信号的注册,信号的注销,信号的处理49、捕获信号后的三种处理方式:忽略信号,捕捉信号,执行缺省操作。
50、信号的副作用当一个信号被堵塞时,其他的信号就会延时51、什么是线程线程是进程的一个实体,一个进程中可以有多个线程,线程的资源是共享的。
52、简述二进制信号量和互斥量的作用信号量的作用:用来保证两个或多个关键代码段不被并发调用,在这个关键代码段之前必须获取一个信号量,否则一直等待下去;互斥锁的作用:保证共享数据操作的完整性;53、什么是套接字套接字就是程序利用socket创建而获得的一个非负整型值进程之间的通信都是通过操作套接字来完成的54、什么是字节序其实就是网络字节序,大端小端的问题55、用C或是伪代码描述4种基于TCP的服务器模型select的TCP的服务器模型socket→bind→listen→初始化数组(用来放套接字描述符是否存在),select实现多路复用→accept→send/recv→closepoll的TCP的服务器模型socket→bind→listen→初始化结构体pollfd,poll实现多路复用→accept→send/recv→closepthread的TCP的服务器模型socket→bind→listen→accept →pthread_create →send/recv→closeprocesssocket→bind→listen→accept→fork→sen d/recv→close56、编写一个线程安全函数,并说明函数的可重入性函数的可重入性就是这个函数可以多次调用而各个调用之后的值互补干扰;void *routine(int *arg){int num = (int)arg;num++;`printf(“%d\n”,num);return (void *)0;}int main(){pthread_t pid;int ret = pthread_create(&pid,NULL,(void *)routine,1);if(-1==ret){perror(“pthread_create”);exit(-1);}ret = pthread_create(&pid,NULL,(void*)routine,2);if(-1==ret){perror(“pthread_create”);exit(-1);}pthread_join(&pid,NULL);return -1;}。