繁体   English   中英

gcc:开关或编译指示来抑制非空指针的“%p”格式警告?

[英]gcc: switch or pragma to suppress the “%p” format warning for non-void pointers?

如果%p格式说明符的参数不是void*是否有魔术来阻止gcc抱怨?

实用程序是理想的,因为我可以将其放在标准的编译器配置标头中,这样就可以一劳永逸地保存问题,而不必每次都弄弄项目/ make文件...

通常,我更喜欢在所有编译器中使用-Wall -Wextra -Wpedantic,因为在干净源代码上发出的​​警告通常表示我的错误,或者编译器可能会丢失绘图。 但是,我看不到使用多余的强制转换(将C语言风格化,这是我多年没有使用过的代码,或者是超长的,过于混乱的代码)弄乱了我的源代码并没有任何好处,因此需要消除此特殊警告。

附录:我知道typedef和/或模板可以将行内混乱减少到一个字母和一对括号,但是它们需要额外的行外混乱。 那东西是噪音,它降低了清晰度和表达能力,而不是改善它们。

但是,我的选择是不希望出现此警告,而我的目标是使其消失。 无论如何,这都是很愚蠢的,因为实际发生的指针问题(近,远,基于,任何东西)都与指针的无效性正交。为了避免其他潜在的反对意见,我在说的是普通数据指针,不是函数指针,成员指针,闭包或其他指针。 如果我需要将某些东西移植到Konrad Zuse的Z1之类的奇异平台上,那么我可以调整编译器配置标头,以免在该特定平台上抑制该警告...

似乎没有这样的选择。 GCC的-Wformat选项族记录在这里 (搜索-Wformat )。 如果有您要执行的操作的开关,我希望可以在这里找到它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM