gpt4 book ai didi

c - 如何在 gcc 中执行 C89 风格的变量声明?

转载 作者:太空狗 更新时间:2023-10-29 16:43:47 26 4
gpt4 key购买 nike

我在一个代码库上工作,该代码库主要是 C 和少量 C++,并且大部分是用 gcc 构建的,但偶尔也需要用 MSVC 构建。 Microsoft 的 C 编译器仍然很像 C89,只是做了一些小的扩展,而且它仍然不支持混合代码和变量定义 à la C++/C99。所以我需要找到一种方法来防止开发人员在使用 gcc 时编写乱序代码/变量定义,否则构建随后会因 MSVC 而中断。如果我使用 gcc -std=c89 那么一切都会中断,因为不允许使用 C++ 风格的注释(可能还有其他问题,但我没有进一步研究)。如果我使用 gcc -std=gnu89,那么乱序代码/变量定义是允许的,所以这对我也没有帮助。有任何想法吗 ?我想我只需要像 gcc -std=c99 -fno-inline-variable-definitions 这样的选项,如果存在这样的选项的话。

最佳答案

你在 -Wall -Wextra -Wstrict-prototypes -Wold-style-definition 之后-Wmissing-prototypes -Wmissing-declarations-Wdeclaration-after-statement 选项,如 gcc warnings info page 中所述.请注意,这些可能会因系统头文件中的问题而引起大量噪音,并且它们只是警告,因此您必须制定一个热衷于零警告构建的策略。

关于c - 如何在 gcc 中执行 C89 风格的变量声明?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3099813/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com