大华嵌入式面试题大全及参考答案(2万字长文)
目录
在C语言中,static 关键字有哪些主要用途?
static 修饰的全局变量与普通全局变量有什么区别?
为什么要在嵌入式系统中使用 static 修饰函数?
虚函数与纯虚函数了解么?
strcpy 给你加结束符吗,还是要自己加?
select 的作用是什么,它和 epoll 的区别?
map 与 set 了解么,有什么区别?
GDB调试的基本操作,以及如何去追踪变量、查看堆栈信息?
内存四区,malloc 和 new 是如何分配内存空间的?
内存四区
malloc 和 new 如何分配内存空间
C++的面向对象的三个基本特征是什么,介绍一下多态?
封装
继承
多态
C++动态分配内存的函数是什么,它分配的内存位于哪个区,如果没有 delete 会导致什么问题?
malloc 和 new 的区别?
野指针是什么?
常量指针和指针常量的区别,const char * 是属于哪一个?
单链表和循环链表的操作?
单链表
循环链表
C++ struct 和 union 区别?
struct
union
C++ 内存泄漏,怎么解决?
解决方法
memcpy、strcpy 区别?
main 函数执行前会执行什么?
C++拷贝构造函数和赋值函数的区别?
拷贝构造函数
拷贝赋值运算符
排序中的快速排序,什么情况是最坏的?
迭代器与引用的区别,迭代的好处?
迭代器与引用的区别
迭代器的好处
vector 一直加数据会有什么变化?reverse 的具体实现?
vector 一直加数据的变化
reverse 的具体实现
程序如何调试,GDB怎么处理异常,数组越界?
程序调试的一般步骤
GDB 处理异常
处理数组越界
数据结构了解哪些?队列和栈的原理?
数据结构概述
队列和栈的原理
快速排序的原理、复杂度,出现最差情况的实际情景(每次选的基准数都很极端)?
快速排序原理
时间复杂度
最坏情况实际情景
vector 插入元素后的详细过程?
std::vector 插入元素的过程
了解死锁么,它是咋么产生的以及如何解决?
死锁概念
产生原因
解决方法
物理地址与虚拟地址,如何映射?
物理地址与虚拟地址的概念
映射过程
TCP和UDP的区别以及TCP如何保证数据传输的稳定性?
TCP 和 UDP 的区别
TCP 保证数据传输稳定性的机制
进程临界区有用过吗,怎么样保护?
进程临界区的概念
保护方法
进程和线程的关系,你的项目进程之间怎么实现通信?
进程和线程的关系
进程间通信方法
动态链接和静态链接的优缺点,链接库位于哪个存储区?
动态链接和静态链接
动态链接
静态链接
网络通信分层、每一层用什么协议?
OSI 七层模型
OSI 七层模型各层及其协议
为什么要使用 static 修饰函数?
使用 static 修饰函数的原因
UART串口通信的波特率,常用波特率有哪些?
UART 串口通信波特率
常用波特率
串口通信校验方式是什么,有什么区别?
串口通信校验方式
校验方式的区别
进程临界区怎样保护?
保护进程临界区的方法
如果未接收到串口发送信息,如何查错?
未接收到串口发送信息的排查步骤
堆区和栈区的区别?
堆区和栈区
堆区和栈区的区别
中断进行的流程?
如何配置 GPIO 口输出高电平?
示例代码(假设使用的是一个假想的微控制器库)
I²C (IIC) 通信协议?
I²C 通信的关键特性
RS232 和 RS485 的区别?
RS232 和 RS485 的对比
FreeRTOS 和实时性操作系统有什么区别?
FreeRTOS 与 RTOS 的区别
Linux 下调试程序用的什么,Linux 的一些常用指令?
Linux 下调试程序的工具
Linux 的一些常用指令
Linux 怎么定位内存泄漏?
常用工具
使用 Valgrind 的示例
Linux 检测内存泄漏时,发现是内存太小了,怎么办?
调整交换空间示例
Linux 下 GDB 的使用
GDB 基本使用
GDB 高级功能
Redis 有哪些数据类型?
Redis 数据类型
讲一下异步 IO?
异步 IO 概念
异步 IO 的优点
异步 IO 的实现方式
用过哪些通信协议,各自的特点?
通信协议及特点
MQTT 协议传输数据的格式?
MQTT 数据格式
MQTT 消息示例
有用过 STL 库吗,用了哪些内容,vector 和 list 用法的不同?
STL 库使用
vector 和 list 的不同
说说 STL 在多线程编程时的情况,稳定性?
STL 在多线程编程中的使用
稳定性考虑
示例
在C语言中,static 关键字有哪些主要用途?
在 C 语言中,static 关键字主要有两个用途:用于局部变量和用于全局变量。对于局部变量而言,static 可以让一个变量在整个程序运行期间保持其值不变,即使函数调用结束后仍然保留。对于全局变量而言,static 可以限制该变量的作用域仅限于定义它的文件内。
-
局部变量:
- 默认初始化为零(或零值)。
- 在整个程序运行期间都存在。
- 在函数退出后不会丢失其值。
-
全局变量:
- 仅在定义它的文件内可见。
- 如果在其他文件中定义了同名的非
static全局变量,则static全
相关文章:
大华嵌入式面试题大全及参考答案(2万字长文)
目录 在C语言中,static 关键字有哪些主要用途? static 修饰的全局变量与普通全局变量有什么区别? 为什么要在嵌入式系统中使用 static 修饰函数? 虚函数与纯虚函数了解么? strcpy 给你加结束符吗,还是要自己加? select 的作用是什么,它和 epoll 的区别? map 与…...
C语言——查漏补缺
前言 本篇博客主要记录一些C语言的遗漏点,完成查漏补缺的工作,如果读者感兴趣,可以看看下面的内容。都是一些小点,下面进入正文部分。 1. 字符汇聚 编写代码,演示多个字符从两端移动,向中间汇聚 #inclu…...
Python | Leetcode Python题解之第328题奇偶链表
题目: 题解: class Solution:def oddEvenList(self, head: ListNode) -> ListNode:if not head:return headevenHead head.nextodd, even head, evenHeadwhile even and even.next:odd.next even.nextodd odd.nexteven.next odd.nexteven even…...
吉瑞外卖笔记
1.项目整体搭建 这里用到的是springboot3mybatisplus 1.1数据库搭建 整体表搭建,这里我是直接用的老师给的数据库 1.2maven项目搭建 依赖 这两个jar包第一次用,记录一下 fastjson json处理,可将对象转化为json形式 可将对象中的属性…...
Perl套接字编程指南:构建网络通信应用
摘要 Perl是一种功能强大的脚本语言,广泛应用于系统管理、网络编程等多种场景。Perl的套接字编程能力允许开发者创建客户端和服务器端的网络应用。本文将详细介绍Perl中套接字的使用,包括基础概念、API的使用,以及构建简单客户端和服务器的示…...
达梦数据库(十) -------- mybatis-plus 整合达梦时,自动生成的 sql 语句报错
一丶【问题描述】: mybatis-plus 整合达梦时,应用系统项目的 sql 语句中包含数据库关键字,导致 mybatis-plus 自动生成的 sql 语句会报错,如下图所示: 二丶【问题解决】: 问题原因:mybatis-pl…...
停止项目大小调整,开始搜索层自动缩放!
作者:来自 Elastic Matteo Piergiovanni,John Verwolf 我们新的 serverless 产品的一个关键方面是允许用户部署和使用 Elastic,而无需管理底层项目节点。为了实现这一点,我们开发了搜索层自动扩展,这是一种根据我们将在…...
VScode的环境编译器选择
按快捷键 Ctrl Shift P 选择即可...
在Linux中通过docker安装和配置supervisor进程守护
先在Linux中安装docker,然后在docker中安装appnode,并进行docker网络端口映射。接着登录appnode面板安装supervisor。 supervisor用于守护进程,在进程意外终止后将其重启。 supervisor没有监听内部程序和自动重启的功能。 docker安装 第一…...
CanMV-K230自学笔记系列(不定期更新)
笔记内容主要为CanMV-K230的学习过程,目前陆续有新的k230开发板 CanMV-K230 V1.0 V1.1(已上市) CanMV-K230-01Studio(刚上市) DshanPI-CanMV K230(刚上市) BPI-CanMV-K230D-Zero(待…...
[GXYCTF2019]禁止套娃-使用无参数读文件
点开靶场 发现源码、以及抓包啥都看不出来 用dirsearch扫描发现是git源码泄露,用githack获取源码 查看源码发现最终目标要执行eval($_GET[exp]) 要执行eval就要通过这些正则,第一个正则匹配不分大小写的php伪协议之类的 重点是第二个正则 preg_repl…...
SpringBoot+MyBatis模板
SpringBootMyBatis模板见附件...
Springboot 定时任务 @EnableScheduling @Scheduled
EnableScheduling 是Spring框架中的一个注解,它用于开启基于注解的任务调度支持。当你在你的Spring应用程序中使用这个注解时,它允许你通过Scheduled注解来配置和执行定时任务。 以下是如何使用 EnableScheduling 的基本步骤: 1. **添加Ena…...
STM32F407ZET6使用LCD(9341)
1.原理图 屏幕是中景园2.8寸液晶屏,9341驱动不带触摸屏版本 2.STM32CUBEMX配置 3.编写驱动程序...
动手学深度学习7.3 网络中的网络(NiN)-笔记练习(PyTorch)
以下内容为结合李沐老师的课程和教材补充的学习笔记,以及对课后练习的一些思考,自留回顾,也供同学之人交流参考。 本节课程地址:26 网络中的网络 NiN【动手学深度学习v2】_哔哩哔哩_bilibili 本节教材地址:7.3. 网络…...
SQL语言-select的使用方法
select语法的使用(SQLyog) 设定查询结果返回的行数 #设定查询结果返回的行数,需要使用limit,指定返回的行数 #格式:select 列名 from 表名 limit n; #n代表限定的行数 SELECT stu_name FROM student LIMIT 3;#格式&a…...
深入理解Python中的排序算法:快速排序与归并排序实现
深入理解Python中的排序算法:快速排序与归并排序实现 排序是计算机科学中一个基本而重要的操作,几乎在所有的编程任务中都会遇到。Python提供了内置的排序函数,但了解排序算法的实现原理对于提升编程能力和解决问题的能力至关重要。本文将深入探讨两种经典的排序算法:快速…...
Linux基础命令 ② 未完成
linux系统目录结构 解释 bin: 包含基本的可执行二进制文件,供所有用户使用。 boot: 存储操作系统启动所需的关键文件,如内核和初始化 RAM 磁盘(initramfs)。 dev: 包含设备节点,表示物理设备或虚拟设备。 etc: 存储…...
怎么加密文件?分享文件加密四个方法,2024新版操作教程,教你搞定!
数据的安全性与隐私保护显得尤为重要。 无论是个人敏感信息、企业商业机密还是创意作品,文件加密都是保障其不被未授权访问的重要手段。 本文将为您详细介绍四种文件加密方法,并附上2024年新版操作教程,助您轻松搞定文件加密,守护…...
cesium加载魔方立方体
cesium加载多个小立方体,组合拼成一个大立方体。 地理坐标拼合的大立方体有错位问题。必须进行坐标转换。 <template><div class"map"><div id"mapContainer" ref"mapContainer" class"map-container">&…...
DeepSeek代码质量评估实战手册:7步完成从混沌到可度量的质变跃迁
更多请点击: https://kaifayun.com 第一章:DeepSeek代码质量评估的底层逻辑与核心价值 DeepSeek代码质量评估并非简单地统计行数或检测语法错误,而是基于多维语义理解构建的推理系统。其底层逻辑融合了静态分析、符号执行与大语言模型生成式…...
Unity安卓构建实战指南:解决APK真机安装闪退与构建失败
1. 这不是一本“从零开始”的书,而是一份你真正上手Unity安卓游戏开发前必须撕开的说明书我带过三届Unity实习工程师,也帮二十多个独立开发者把Demo打包进Google Play。每次看到新人在“安卓构建失败”报错里反复挣扎,或者对着“IL2CPP编译卡…...
从Gamma函数到泊松分布:一个概率论中的含参量积分实用案例解析
Gamma函数与泊松分布:概率论中的数学之美 在数据科学和机器学习的实践中,概率分布构成了建模的基石。当我们深入探究这些分布背后的数学原理时,Gamma函数以其优雅的性质和广泛的应用脱颖而出。它不仅连接了离散与连续概率世界,更在…...
AI时代程序员职业发展与个人创业可行性研究报告
一、行业宏观变革(2026核心趋势数据佐证) 1.1 开发范式已彻底重构(行业不可逆拐点) 2026年正式进入AI Agent智能体开发时代,传统CRUD编码价值持续崩塌。 核心权威数据: Gartner预测:2026年75%企…...
METSO A413248自动化系统
METSO A413248 自动化系统模块产品特点: 品牌归属:芬兰METSO(美卓)工业自动化系统原装备件。 产品类型:工业级自动化控制模块/接口模块。 核心功能:用于控制信号处理、数据采集及系统集成。 系统兼容&am…...
从RD、CS到WK:一文讲透SAR主流成像算法的演进与选型实战
从RD、CS到WK:SAR成像算法选型实战指南 当无人机掠过灾区上空,或卫星扫描地球表面时,合成孔径雷达(SAR)正通过电磁波穿透云层和黑暗,将地面信息转化为高分辨率图像。而决定图像质量的关键,在于工…...
全球无障碍宣传日:iOS 26 辅助功能大升级,这些实用小功能你用过吗?
辅助功能发展与升级很多人对辅助功能的印象还停留在 "小白点",但随着 iPhone 进入全面屏时代,它逐渐变得陌生。实际上,Apple 每年都会为其增添功能,方便身体有障人士使用 iPhone。而且,这些功能不仅惠及有障…...
OmenSuperHub:基于WMI BIOS控制的高性能笔记本硬件管理方案
OmenSuperHub:基于WMI BIOS控制的高性能笔记本硬件管理方案 【免费下载链接】OmenSuperHub Control Omen laptop performance, fan speeds, and keyboard lighting, and unlock power limits. 项目地址: https://gitcode.com/gh_mirrors/om/OmenSuperHub 在惠…...
用Python复现Nature论文:仅需100次循环数据,提前预测锂电池寿命(附完整代码与数据集)
用Python实战预测锂电池寿命:从数据特征到模型部署全解析锂电池作为现代能源存储的核心组件,其寿命预测一直是工业界和学术界关注的焦点。传统方法往往需要等待电池出现明显容量衰减才能进行判断,而最新研究表明,通过分析早期循环…...
终极指南:Windows 10完美安装PL2303驱动,解决老旧USB转串口芯片兼容性问题
终极指南:Windows 10完美安装PL2303驱动,解决老旧USB转串口芯片兼容性问题 【免费下载链接】pl2303-win10 Windows 10 driver for end-of-life PL-2303 chipsets. 项目地址: https://gitcode.com/gh_mirrors/pl/pl2303-win10 你是否还在为Windows…...
