ANSI C中的自赋值

4

我目前正在开发一个嵌入式C项目,而我“继承”了一些旧代码,其中包含如下语句:

rxStruct = rxStruct;

其中rxStruct是一个变量。

这样的语句有什么用途呢?


9
可能与内存映射设备I/O有关。上下文非常重要,不能仅凭一行代码来猜测。 - Hans Passant
这也可以是一种粗糙的方法,用于添加中断代码/指令。即作为设置断点的地方。我在同事的代码中看到过这种情况。汉斯的建议也非常有道理。 - Morten Jensen
1个回答

15

如果没有更多的信息,这种声明的一种用途是为了防止未使用参数的编译器警告,如果rxStruct作为参数传递进来,并且在其他情况下没有使用。


3
更好的做法是:(void)rxStruct。通常你应该使用一个宏定义:#define UNUSED(X) (void)X - Gui13

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接