嵌入式笔试刷题(第50天)
11. arm-linux-gcc 编译生成的 ELF 文件相关说法(多选)
✅ 答案:C、D
📌 解析:
- A ❌
arm-linux-ar是静态库打包工具,查看 ELF 应使用readelf、objdump; - B ❌
str是字符串常量,通常存储在.rodata,不是代码段.text; - C ✅
arm-linux-strip会移除调试信息,减小文件大小; - D ✅ 内核模块
.ko的加载依赖 ELF 特定段(如.modinfo,.text等)
12. 计算以下程序输出
int a, b, c, d;
a = 2;
b = a++;
c = ++a;
d = 10 * a++;
printf("b:%d, d:%d, d:%d", b, c, d);
✅ 答案(程序有误):打印内容是错误的(重复打印两次 d)修正为:
printf("b:%d, c:%d, d:%d", b, c, d);
🧠 计算过程:
- 初始:a = 2
- b = a++ → b = 2, a = 3
- c = ++a → a = 4, c = 4
- d = 10 * a++ → d = 10 * 4 = 40, a = 5
✅ 输出:b:2, c:4, d:40
13. 逻辑/位运算快速计算(值直接写)
a. ~0 |
|
补码取反 |
b. !0 |
|
逻辑非 |
c. 2&4 |
|
位与:0010 & 0100 = 0000 |
d. 2&&4 |
|
非零即真:true && true = 1 |
e. 2|4 |
|
位或:0010 | 0100 = 0110 |
f. 2||4 |
|
逻辑或:true || true = 1 |
g. 5<<3 |
|
左移:101 << 3 = 101000 = 40 |
14. 分析结构体及访问
定义:
struct bem {
int limbs;
char type[30];
};
struct bem *pb;
struct bem deb = { 6, "arcturan" };
pb = &deb;
printf("%s\✅ 输出:
剩余60%内容,订阅专栏后可继续查看/也可单篇购买
嵌入式笔试专栏 文章被收录于专栏
本专栏系统整理了嵌入式方向笔试中常见的知识点和高频考题,涵盖基础理论、常用算法、C语言陷阱、操作系统原理、驱动开发、常见外设通信协议(如 I2C/SPI/UART)、RTOS、Linux 内核、以及实用电路知识等内容。


查看14道真题和解析