- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我刚刚深入研究 gcc 手册,有些事情我仍然不清楚:
最佳答案
如果您正在编写一个库,请做确保像这样的简单程序
#include <yourlib.h>
int main() {
return 0;
}
即使编译器在最迂腐的模式下运行并启用了所有可选警告,编译时也不会出现任何警告。
如果您正在编写应用程序,那么您的代码左右抛出警告只是您的应用程序的问题。然而,对于库的公共(public)头文件,以后使用该库的每个人都将被迫忽略或忍受头文件引起的警告。
因此,如果可能的话,请检查您的库 header 在多种编译器模式下编译时是否没有警告:
$ gcc -Wall -Wextra -Werror -std=c99 -pedantic
$ gcc -Wall -Wextra -Werror -std=gnu99 -pedantic
$ gcc -Wall -Wextra -Werror -std=c89 -pedantic
$ gcc -Wall -Wextra -Werror -std=gnu89 -pedantic
编译你的库抛出多少警告又只是你的问题。
关于海湾合作委员会 : Is using -Werror and -pedantic considered good practice?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2574200/
这个 GCC 警告是什么意思? cpfs.c:232:33: warning: ISO C99 requires rest arguments to be used 相关行是: __attribute
我刚刚开始学习 C 作为一种爱好。我正在用“C 编程:一种现代方法”一书来做这件事。那里有一个名为 pun.c 的第一个程序。这是代码: #include int main(void) { in
https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html : Some users try to use -Wpedantic to check
我们需要这样使用gcc编译C源代码: gcc -ansi -pedantic -Wall program.c 我想知道如何“自动化”这个,所以当我输入时: gcc program.c 它将自动编译 3
就这个问题而言,我只对符合标准的 C++ 感兴趣,而不是 C 或 C++0x,也不对任何特定于实现的细节感兴趣。 Questions不时出现关于#include ""之间的差异和 #include <
我正在使用 Clang v3.7.0 和 Mingw-w64 5.1.0 和 GCC 5.1.0,全部 64 位,在 Windows 10 上。我的目标是使用一组 Clang 和 GCC 选项,这将使
我想知道是否有等效于 int64_t在 C 中可以在 32 位和 64 位平台上运行,并且符合 ansi 和 pedantic gcc 模式。 我发现这很有趣 post ,但它与 C++ 相关。 我试
我刚刚深入研究 gcc 手册,有些事情我仍然不清楚: 指定 std 时,我应该始终结合使用 -pedantic 吗? 使用 -g 时,标准级别就足够了,或者我应该指定级别 3,即-g3? 使用 -We
我正在尝试从其他地方(特别是 here )获取一些代码,以便在 gcc 被赋予 -pedantic 标志时没有任何警告地进行编译。唯一的问题是这段代码: struct __attribute__ ((
我有一个带有复制构造函数和采用 std::reference_wrapper 的构造函数的类: #include #include class Class { public: Class(
我的代码中某处有这个 lambda: [](bool a, bool=true){ return !a;} } 和 GCC 4.6“提示”这个警告: warning: default argument
This note说: -ansi: tells the compiler to implement the ANSI language option. This turnsoff certain "
无法使用 -Wall -pedantic -ansi 标志在 Windows 上的 Visual Studio Code 终端上执行程序。现在的赋值程序只是一个简单的 C 语言“Hello World
我尝试从模板制作一个 makefile,这就是我得到的: CFLAGS = -Wall -pedantic LFLAGS = -lpthread CC = gcc OBJS = bank5.o cli
这是一个简单的 C 文件: #include #include int main() { printf("hi there!\n"); return 0; } 使用 gcc -an
在 linux 上,我使用这些标志与 gcc 一起编译 CFLAGS=-Wall -pedantic -g -Wextra -pthread 我在 VS 中有哪些选项可以启用类似的标志?额外警告等 最
我目前正在使用 GCC-5.3 在我的机器上运行 Linux Mint,因为默认包含 C11。 我开始为自己学习 C 只是为了好玩,如果我没记错的话,当时的 GCC 版本是 4.8。 如果在以下程序中
我正在编译 C++ 代码,我想启用 -pedantic 选项。 我正在使用 GCC 4.0,在 Mac OS X Leopard 上运行 Xcode。 例如,可以允许可变参数宏和 long long使
我正在使用 Eclipse 编写 C/C++ 程序。我想使用 -Wall 和 -pedantic 标志编译我的代码。如何在 Eclipse 中启用这些标志,以便在编译 C/C++ 程序时默认使用它们?
我主要使用 GCC 来开发我的库,但我想尽可能确保交叉编译器兼容性,尤其是标准一致性。为此,我在命令行中添加了几个 -W... 标志。我还会添加 -pedantic,但我对它关于 long long
我是一名优秀的程序员,十分优秀!