原标题:练一练!3道经典嵌入式Linux面试题,答案在文末。

题一: 简述memcpy和strcpy的区别?

题二:信号量与互斥锁的区别?

题三:简述程序编译的过程?

题一答案:

(1)复制的内容不同。strcpy只能复制字符串,而memcpy可以复制任意内容,例如字符数组、整型、结构体、类等。

(2)复制的方法不同。strcpy不需要指定长度,它遇到被复制字符串的结束符"0"才结束,所以容易溢出。memcpy则是根据其第3个参数决定复制的长度。

(3)用途不同。通常在复制字符串时用strcpy,而需要复制其他类型数据时一般用memcpy。

题二答案:

(1)互斥量用于线程的互斥,信号量用于线程的同步。

互斥:是指某一资源同时只允许一个访问者对其进行访问,具有唯一性和排它性。但互斥无法限制访问者对资源的访问顺序,即访问是无序的。

同步:是指在互斥的基础上(大多数情况),通过其它机制实现访问者对资源的有序访问。在大多数情况下,同步已 经实现了互斥,特别是所有写入资源的情况必定是互斥的。少数情况是指可以允许多个访问者同时访问资源。

(2)互斥量值只能为0/1,信号量值可以为非负整数。

也就是说,一个互斥量只能用于一个资源的互斥访问,它不能实现多个资源的多线程互斥问题。信号量可以实现多个同类资源的多线程互斥和同步。当信号量为单值信号量时,也可以完成一个资源的互斥访问。

(3)互斥量的加锁和解锁必须由同一线程分别对应使用,信号量可以由一个线程释放,另一个线程得到。

题三答案:

预处理:预处理命令以符号“#”开头。预处理相当于根据预处理命令组装成新的C程序,不过常以i为扩展名。C语言的预处理主要有三个方面的内容:

1. 宏定义。

2. 文件包含。

3. 条件编译。

编译: 将预处理输出的.i文件转化成.s汇编文件。

这个阶段编译器主要做词法分析、语法分析、语义分析等,在检查无错误后后,把代码翻译成汇编语言。

汇编:将汇编文件翻译成机器语言,并打包成可重定位目标程序的O文件。该文件是二进制文件,字节编码是机器指令。

链接:将引用的其他o文件并入到我们程序所在的o文件中,处理得到最终的可执行文件。返回搜狐,查看更多

责任编辑:

嵌入式linux开发考试题目,练一练!3道经典嵌入式Linux面试题,答案在文末。相关推荐

  1. 2022年二级建造师考试-冲刺押题(历年真题+习题解析+模考试题+答案+知识点强化+文档总结),共2074份,32.2G(附件中为网盘链接)

    2022年二级建造师考试-冲刺押题(历年真题+习题解析+模考试题+答案+知识点强化+文档总结),共2074份,32.2G(附件中为网盘链接). 下载地址:https://download.csdn.n ...

  2. 【疯壳·嵌入式平板开发教程1】手把手教你做平板电脑-Linux 引导过程

    Linux 引导过程 --疯壳·嵌入式平板开发 Linux 内核与 Android 系统 linux 内核有什么区别?    什么是引导装载程序?   什么是 Zygote?    什么是 init. ...

  3. 干货:嵌入式系统设计开发大全!(万字总结)-道合顺大数据infinigo

    01 嵌入式系统设计方法变化的背景 嵌入式系统设计方法的演化总的来说是因为应用需求的牵引和IT技术的推动,随着微电子技术的不断创新和发展,大规模集成电路的集成度和工艺水平不断提高.硅材料与人类智慧的结 ...

  4. 计算机网络考试多选题汇总Ⅰ(答案见文末)

    完整排版的文档下载地址见文末,内附完整答案 部分答案如上图所示: 1.计算机指令系统主要包括()指令 A.程序控制指令 B.数据处理指令 C.命令编译指令 D.输入/输出指令 E.数据传送指令 2.下 ...

  5. c 复杂的前置后置面试题_练一练!3道经典嵌入式C 面试题,答案在文末

    题一,堆和栈的区别是? 题二,Volatile与Register的区别是? 题三,ARM里的大端格式和小端格式分别是什么意思? 题一答案: (1)存储内容不同 栈:在函数调用时,栈中存放的是函数中(最 ...

  6. linux开发板lcd上显示jpg图片,关于在嵌入式开发板上显示一张jpeg图片

    #include "lcdjpg.h" static char g_color_buf[FB_SIZE]={0}; static int  g_fb_fd; static int ...

  7. linux系统论文题目大全_【最新推荐】关于linux论文-范文模板 (20页)

    本文部分内容来自网络整理,本司不为其真实性负责,如有异议或侵权请及时联系,本司将立即删除! == 本文为 word 格式,下载后可方便编辑和修改! == 关于 linux 论文 篇一: Linux 论 ...

  8. java工程师考试题目_成功拿到Offer,Java工程师笔试题及答案!

    1.是否可以从一个static方法内部发出对非static方法的调用? 不可以.因为非static方法是要与对象关联在一起的,必须创建一个对象后,才可以在该对象上进行方法调用,而static方法调用时 ...

  9. 面试题解析,3道经典嵌入式Linux面试题

    题一: 简述memcpy和strcpy的区别? 题二: 信号量与互斥锁的区别? 题三: 简述程序编译的过程? 题一答案: (1).复制的内容不同.strcpy只能复制字符串,而memcpy可以复制任意 ...

最新文章

  1. canvas 实现图片局部模糊_JavaScript中的图片处理与合成(四)
  2. Eigen库对齐问题:declspec(align('16')) 的形参将不被对齐
  3. 机器学习算法(1)——贝叶斯估计与极大似然估计与EM算法之间的联系
  4. Datatable 去除重复行
  5. oracle日期函数有效,oracle日期处理函数整理
  6. 功能表单之智能选择字段类型的使用——JEPLUS软件快速开发平台
  7. 中望cad自定义快捷键命令_中望cad常用快捷键及命令
  8. 常用公差配合表图_机械密封零件的公差配合与技术要求
  9. 优化三维空间定位法及C语言快捷实现
  10. 计算机怎样设置默认美式键盘,完美:如何在win10系统中将默认输入法设置为美式键盘...
  11. 股票中,什么是净资产收益率,有什么作用?
  12. Java多线程并发笔记01 对象锁 类锁 对象锁的同步和异步 脏读
  13. c语言投票系统程序,C语言智能投票系统.doc
  14. linux rstudio 卸载,R与Rstudio的安装与卸载
  15. linux ipsec racoon工具移动客户端模式详细配置
  16. Linux下开启FTP的21端口
  17. 英特尔服务器级cpu型号含义,新手必看 英特尔移动CPU命名规则解析
  18. VC2008中将CString转换成const char*的一种有效方法
  19. 容器云职业技能大赛 不一样的比赛
  20. CHAPTER 5 文件共享 - FTP/FTPS/SFTP

热门文章

  1. centos安装mysql8.0
  2. c/c++操作mysql数据库使用utf8总结
  3. 网络抓包工具 wireshark教程
  4. springboot配置定时任务及常用的cron表达式
  5. 每日两SQL(9),欢迎交流~
  6. leetcode 559. N 叉树的最大深度(Java版,N叉树的深度优先搜索)
  7. 左神算法:二叉树的按层打印与ZigZag打印(Java版)
  8. 操作系统:第三章 内存管理2 - 详解虚拟内存,页面置换算法,页面分配策略
  9. 数据结构:用栈实现表达式的转换(文字描述+详细步骤示例)——中缀转后缀
  10. java安全编码指南之:Mutability可变性