编译 C++ 源代码以获得最大的可移植性

问题描述 投票:0回答:1

我使用 C++ 创建了一个独立的可执行文件,我希望它可供尽可能多的人使用。就编译器选项而言,我可以做什么来确保这一点?我使用 MinGW 和链接器选项

-static-libgcc -static-libstdc++
。我的可能用户将使用 Windows 7。

编辑:我已经使我的源代码尽可能地可移植。 此网页提到了 ANSI (-A)“为了最大可移植性”这一论点。使其兼容 ANSI 有什么影响?

c++ mingw gnu portability
1个回答
-1
投票

使用 g++,您可以使用很多警告标志。 -Wall 已经有帮助了,但是还有很多其他的,例如:

-Werror -Wall -Wextra -pedantic -std=gnu++0x -Wcast-align -Wcast-qual -Wctor-dtor-privacy -Wdisabled-optimization -Winit-self -W逻辑操作 -Wmissing-include-dirs -Woverloaded -virtual -Wredundant-decls -Wshadow -Wsign-promo -Wstrict-null-sentinel -Wstrict-overflow=1 -Wundef -Wno-unused -Wunused-variable -Wno-variadic-macros -Wno-括号 -Wno-unknown-pragmas -Wwrite-strings -Wswitch -fdiagnostics-show-option -Wnoexcept -Wold-style-cast -Wformat=2

它不会使您的代码与所有 C++ 编译器兼容,但是,一旦您尝试其他编译器,它将有助于减少必要的工作。

要查看所有这些警告标志,请查看 g++ 的手册页或信息页。

© www.soinside.com 2019 - 2024. All rights reserved.