Clo*_*oud 3 c struct compiler-warnings suppress-warnings
我正在测试我在上一个问题中尝试过的解决方案:在struct中使用typedef来命名和索引文本命令
但是,我想将编译器警告保持为无.我为此目的使用静态代码分析工具,对于某些工具(即:LINT),我可以在评论中使用标记手动排除每行的某些规则和警告.
在第一个/最佳答案的情况下,我尝试了该解决方案,但修改了最终结构,如下所示:
struct command commands[] =
{
#include "commands.inc",
{NULL, NULL}
};
Run Code Online (Sandbox Code Playgroud)
这样我就可以知道,在搜索过程中,我是否已经到达这个struct-of-struct中最大的可寻址成员,并且没有得到越界条件.问题是我知道有一个编译器警告,"警告:#include指令末尾的额外令牌".有没有办法禁用此警告?我喜欢这个解决方案,它非常适合我的需求.
最后,我将我的.inc文件更新为:
CMD(list),
CMD(quit),
CMD(start),
Run Code Online (Sandbox Code Playgroud)
代替
CMD(list),
CMD(quit),
CMD(start)
Run Code Online (Sandbox Code Playgroud)
然后,我能够从我的宏定义和静态初始化代码中删除尾随逗号.