例如以下定义:<br />typedef union {<br /> byte Byte;<br /> struct {<br /> byte :1; <br /> byte :1; <br /> byte :1; <br /> byte :1; <br /> byte :1; <br /> byte STOPE :1; /* Stop Mode Enable */<br /> byte COPT :1; /* COP Watchdog Timeout */<br /> byte COPE :1; /* COP Watchdog Enable */<br /> } Bits;<br />} SOPTSTR;<br /><br />编译器默认情况下编译结果:<br />COPE编译为SOPTSTR.Bits.(bit7)<br />COPT编译为SOPTSTR.Bits.(bit6)<br />这是默认的位域编译顺序即低位在前。<br />如今我要编译为高位在前:<br />COPE编译为SOPTSTR.Bits.(bit0)<br />COPT编译为SOPTSTR.Bits.(bit1)<br />请问除了在项目的Standart Setting中设置编译器选项之外(该处设置影响当前项目中所有源代码的编译)之外,能否通过在源文件中添加一些编译控制指令进行设置,如#pragma xxxx之类的?即能否通过添加编译控制指令只影响当前文件代码中与位域相关的编译结果??<br /><br />请高手不吝赐教,谢谢!!!<br /><br /><br /> |
|