Rez*_*ani 5 c embedded compiler-warnings
对于嵌入式系统中的外围设备要求,我必须声明一个变量以读取寄存器,但是以后将不再使用该值。因此,我自然会得到关于未使用变量的编译器警告。如何抑制警告?我有两种想法:
添加从变量读取的虚拟数据,例如:
volatile int var;
var = peripheral_register;
var = var;
Run Code Online (Sandbox Code Playgroud)你有更好的主意吗?
如果您只需要读取寄存器(例如清除一些状态标志),则根本不需要接收变量:
(void)peripheral_register ;
Run Code Online (Sandbox Code Playgroud)
假设寄存器本身被声明为易失性就足够了,因此必须对其进行读取。
否则,您可以var通过外部链接使虚拟对象成为全局对象-这样,编译器无法确定未在其他位置读取它;但这是一个丑陋得多的解决方案。