嵌入式大厂面经 2(持续更新中!)
1. volatile关键字
面试题:volatile关键字的作用是什么?
答案解析:
- 防止编译器优化
- 适用场景:硬件寄存器多线程共享变量中断服务程序
// 示例:硬件寄存器 volatile uint32_t* const PORTB = (uint32_t*)0x40020400; // 中断标志 volatile bool flag = false;
2. static关键字
面试题:static在不同场景下的作用是什么?
答案解析:
- 局部变量中:延长生命周期保持值不变
- 全局变量中:限制作用域
- 函数中:限制函数作用域
// 1. 静态局部变量 static int count = 0; // 2. 静态全局变量 static int globalVar; // 3. 静态函数 static void localFunc(void) {}
3. 大小端
面试题:如何判断系统是大端还是小端?
答案解析:
// 方法一:联合体 union { short value; // 0x1234 char bytes[2]; // bytes[0]是低地址 } test; test.value = 0x1234; if (test.bytes[0] == 0x34) { printf("小端系统\n"); } else { printf("大端系统\n"); } // 方法二:指针转换 int checkEndian() { int value = 1; char *p = (char*)&value; return *p; // 1为小端,0为大端 }
更多内容全在下方专栏
全网最受欢迎的嵌入式笔试专栏
笔试专栏包含全部最新的笔试必考考点,非常适合在找工作面经薄弱的同学
3000+订阅还会涨价,提前订阅提前享受,持续更新中。
专栏链接:https://www.nowcoder.com/creation/manager/columnDetail/mPZ4kk
#满分简历要如何准备?##嵌入式笔面经分享##嵌入式测试,嵌入式开发#