gpt4 book ai didi

c++ - 使 MSVC 编译器 GCC 兼容?

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

有没有办法让 msvc 编译器和 gcc 一样严格? MSVC 允许我做一些非常疯狂的事情,当我在 Linux 中编译时会导致数百个错误。

谢谢

最佳答案

一个更好的问题是:MSVC、g++ 或任何其他编译器是否符合标准,如果是,是否符合相同的标准版本?您不应该依赖一组通用的非标准行为。就个人而言,我负责在 g++ 4.1.x 和 VC7.1 上编译的超过 500KLOC 的 C++。两个编译器可以有很多让步。

两个编译器都有语言或库扩展。 g++ 倾向于将库扩展放在单独的命名空间中。 VC,至少是旧版本,不太好。两者都有默认启用的语言扩展,或者可以使用编译器开关启用(或禁用)。您最好禁用所有语言扩展。

您可以为每个编译器设置的警告级别越高越好 - 不要无缘无故地忽视来自任一编译器的警告。

对于 Windows,默认情况下我使用以下选项:/W3/wd4355/wd4805/wd4710。我想使用 /W4,但是第 3 方库使这个级别难以忍受。对于 g++,我使用 -Wall -Wextra。我也想使用 -Wold-style-cast,但我依赖太多违反此规则的第 3 方库。

每个编译器针对不同的构造发出警告,或者以不同的方式警告它们。您最好注意两个编译器的输出,并找到它们之间产生零警告的代码子集,警告级别尽可能高。

关于c++ - 使 MSVC 编译器 GCC 兼容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3663599/

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