在 Linux 上使用 g++ 编译器编译代码时,可以使用 -Wall
选项启用所有常见编译器警告。
除了 -Wall
之外,还有其他几个 g++ 选项可以帮助您检查代码:
- Wextra
:启用不属于 墙。
-Wpedantic
:启用所有 ISO C 和 ISO C++ 警告。
-Werror
:将所有警告视为错误。 也就是说,如果编译过程中出现警告,编译就会失败。
-fsanitize=unknown
和 -fsanitize=address
:这些选项对于检测未定义的行为或内存错误非常有用。 例如,它可以帮助您发现空指针取消引用和越界数组访问等问题。
-g
:生成调试信息。 当使用 gdb 等调试器调试代码时,这非常有用。
您可以通过将这些选项添加到命令行来启用它们。 例如,使用 g++
编译名为 example.cpp
的文件,启用所有常见编译器警告,将警告视为错误,并检测定义行为和内存错误并生成调试信息,您可以使用以下命令:
g++ -Wall -Wextra -Wpedantic -Werror -fsanitize=unknown -fsanitize=address -g example.cpp -o example
这将编译 example.cpp
文件并生成一个名为 example
的文件。 > 可执行文件。 如果编译过程中出现任何警告或错误,编译将失败。
评论前必须登录!
注册