相关疑难解决方法(0)

只选择部分翻译单元禁用GCC警告?

与此MSVC预处理器代码最接近的GCC是什么?

#pragma warning( push )                    // Save the current warning state.
#pragma warning( disable : 4723 )          // C4723: potential divide by 0
// Code which would generate warning 4723.
#pragma warning( pop )                     // Restore warnings to previous state.
Run Code Online (Sandbox Code Playgroud)

我们在常用的标题中包含代码,我们不希望生成特定的警告.但是,我们希望包含这些标头的文件继续生成该警告(如果项目启用了该警告).

c c++ gcc pragma compiler-warnings

82
推荐指数
3
解决办法
5万
查看次数

跨平台宏用于静默未使用的变量警告

在将大量C++代码从Visual Studio(2008)移植到Xcode(4.4+)时,我会遇到如下行:

UNUSED_ALWAYS(someVar);
Run Code Online (Sandbox Code Playgroud)

UNUSED_ALWAYS(x)(通过UNUSED(x))宏扩展到x这似乎沉默的Visual C++就好了.但这对Clang来说还不够.

对于Clang,我通常使用该#pragma unused x指令.

UNUSED_ALWAYSUNUSED宏在人工定义windows.h这是我控制包含了一些工具来帮助的Xcode编译的Windows的东西头.

有没有办法定义UNUSED(x)扩展到#pragma unused x?我试过这个,Clang没有接受:

#define UNUSED(x) #pragma unused(x)
Run Code Online (Sandbox Code Playgroud)

我也尝试过:

#define UNUSED(x) (void)(x)
Run Code Online (Sandbox Code Playgroud)

这似乎有效.我错过了什么吗?

c++ xcode clang suppress-warnings visual-c++

8
推荐指数
2
解决办法
6127
查看次数

标签 统计

c++ ×2

c ×1

clang ×1

compiler-warnings ×1

gcc ×1

pragma ×1

suppress-warnings ×1

visual-c++ ×1

xcode ×1