- 1、本文档共9页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
杭电嵌入式
杭电2015年1月份嵌入式的部分题型(考完1月后回忆的)和本人的不完整的复习资料选择题
共同体和结构体占内存大小
进程、线程的关系
块设备、字符设备有哪些
软件的开发流程,开发环境
指出树的节点数
Tcp/ip分层模型
简答题
进程间通信方式有哪些?优缺点?
全局变量和局部变量的异同
一个程序在内存中的存储方式(堆,栈,程序段,代码段)
画出书上唯一的一副程序流程图(大概有等待,获取信息,返回信息……)
编程填空题
关于static的用法
全局变量和局部变量的理解
编程题
输入一个字符串,逆序后输出。如输入abc,输出cba。
Linux嵌入式
什么是块设备(硬盘)块设备是利用一块系统内存作为缓存区,当用户进程对设备进行读写请求时,驱动程序先查看缓存区的内容,如果缓存区的内容能够满足用户要求就返回相应的数据,否则就调用相应的请求函数来进行实际的I/O操作。
字符型设备是什么(键盘、串口、打印机)字符设备是以字节为单位的逐个进行I/O操作的设备,缓存可有可无,不支持随机访问。
进程间通信能否通过全局变量通信?不能,使用的内存空间是不共用的,不同的虚拟内存空间①管道。简单方便。半双工的通信方式,数据只能单向流动②信号通信(唯一异步):信号是异步的,信号的产生对进程而言是随机出现的。用于通知接受进程某个事件已经发生。③共享内存(最高效的进程间通信):共享内存允许两个或更多进程共享一给定的内存区域。它是针对其他进程间通信运行效率低而专门设计的。进程间的读写操作同步问题操作系统无法实现。④消息队列:一个消息的链表,消息可看作一个记录,具有特定的格式以及特定的优先级。克服了信号传递量少、管道只能承载无格式字节流以及缓冲区大小受限的缺点。
嵌入式软件怎么开发?开发环境是什么?交叉编译嵌入式软件开发工作包括:代码编写、交叉编译与链接、交叉调试、测试开发环境:嵌入式软件开发需要交叉开发环境,开发过程通常在宿主机上,运行环境是目标机
Volatile、static用法volatile表明某个变量的值随时可能被外部改变,因此这些变量的存取不能缓存到寄存器,每次使用时需要重新读取。static静态变量的类型说明符:属于静态存储方式,存储空间在编译完成后就分配,在程序运行的去不过程中不会撤销。
全局变量,局部变量内存分配全局变量(外部变量):贯穿整个程序,作用域为源文件,可被源文件中的任何一个函数使用,在整个程序执行期间有效。(在某函数与定义全局变量不是同一个源文件,或是在定义全局变量之前,使用全局变量要声明,extern不能省,全局变量声明不能再赋初始值)局部变量:是函数内部定义的变量,仅能被该变量的模块的内部语句所访问,对模块外部不可见。(进入模块时生成,退出模块时硝亡。)
进程、线程与程序的关系,共同点(进程是动态的,程序是静态的,不断切换)进程、线程和程序的区别程序是静态的,它是一些保存在存储介质上的指令的有序集合,没有任何执行的概念;而进程是一个动态的概念,它是程序执行的过程,包括了动态创建、调度和消亡的整个过程,它是程序执行和资源管理的最小单位。线程是进程中某个单一顺序的控制流,是程序执行运算的最小单元,是可以被操作系统独立调度的基本单位。线程作为进程的一个实体,自己不拥有进程所拥有的系统资源,但它可与同属一个进程的其它线程共享进程所拥有的全部资源第一章
嵌入式软件的开发工具:编辑器vi,编译器GCC,调试器GDB,工程管理器make
嵌入式软件的开发流程需求分析,系统设计,代码生成(代码编写,交叉编译与链接:宿主机上编译/链接出目标机上可执行的程序代码,交叉调试:调试器运行在宿主机上,而被调试的程序则运行在目标机上,测试),固化
嵌入式vi基本模式命令行模式、插入模式、底行模式
GCC编译流程,各流程代码表示P10①预处理阶段:gcc –E –o hello.i hello.c②编译阶段:gcc –S –o hello.s hello.i生成汇编代码③汇编阶段:gcc –c hello.s –o hello.o生成二进制目标代码④链接阶段: gcc hello.o –o hello 可以生成可执行文件一次性搞定:gcc hello.c –o hello 或 gcc hello.c
①要使用某个库函数,在源程序中必须声明该函数②使用不同的C函数库,需使用选项“-l”(注意这里是小写),该选项是用于指明具体使用的库文件③若同一目录下有库名相同的静态库和共享库GCC缺省链接的是共享库(动态链接库) 如果要链接静态库,则需要添加选项 –static④共享库和静态库的区别P14静态库的代码在编译时就已链接到开发人员开发的应用程序中,后缀.a共享库(动态链接库)是在程
文档评论(0)