嵌入式系统总是要用户对变量或寄存器进行位操作。给

24 查阅
嵌入式系统总是要用户对变量或寄存器进行位操作。给定一个整型变量 a,写两段代码,第一个设置 a的bit 3,第二个清除 a 的bit 3。在以上两个操作中,要保持其它位不变。

参考答案:

正确答案:
对这个问题有三种基本的反应
1). 不知道如何下手。该被面者从没做过任何嵌入式系统的工作。
2). 用 bit fields。Bit fields 是被扔到 C 语言死角的东西,它保证你的代码
在不同编译器之间是不可移植的,同时也保证了的你的代码是不可重用的。我最
近不幸看到 Infineon 为其较复杂的通信芯片写的驱动程序,它用到了 bit
fields因此完全对我无用,因为我的编译器用其它的方式来实现 bit fields

变量