c - 如何抑制编译器对 C 中未使用变量的警告?

标签 c embedded compiler-warnings

对于嵌入式系统中的外设需求,我必须声明一个变量来读取寄存器,但以后不会使用该值。因此,我自然会收到关于未使用变量的编译器警告。 我怎样才能抑制警告?我有两种方法:

  1. 使用编译器指令,我犹豫了,因为它们依赖于编译器
  2. 从变量中添加一个虚拟读取,例如:

    volatile int var;
    
    var = peripheral_register;
    
    var = var;
    

你有更好的主意吗?

最佳答案

如果您需要做的只是读取寄存器(例如清除一些状态标志),那么您根本不需要接收变量,只需:

(void)peripheral_register ;

假设寄存器本身被声明为 volatile 就足够了,因此必须读取它。

否则你可以通过外部链接使你的虚拟 var 全局化 - 这样编译器就无法确定它没有被其他地方读取;但这是一个更丑陋的解决方案。

关于c - 如何抑制编译器对 C 中未使用变量的警告?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40371426/

相关文章:

c - 从 C 中的文本文件读取整数时的错误

c - 正确关闭 PIC12F675 上的 ADC

c++ - 包含特定文件时可以抑制所有警告吗?

c++ - Floodfill 替换为 GDI?

在/sys 文件系统中创建条目

logging - microSD 卡 FAT 模块

c++ - 由于编译时计算值,如何避免 "unreachable statement"?

compiler-errors - 如何摆脱属性网格警告?

c - Linux内核模块: Problem with kernel_write function

管脚映射代码