![](/img/trans.png)
[英]gcc options: warning on non-void functions without a return statement
[英]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.