Ios 相当于#pragma毒药的警告

Ios 相当于#pragma毒药的警告,ios,xcode,preprocessor,crashlytics,Ios,Xcode,Preprocessor,Crashlytics,我使用该函数测试Crashlytics集成,但我显然不想在应用程序中发布该代码 可能会使标识符中毒,因此任何当前或将来的使用都会导致错误: #pragma GCC poison crash 是否有等效的#pragma指令在使用标识符时发出警告?我希望能够构建代码库,同时保留需要注意的可见指示器。您可以使用#warning 用法如下: #warning This is a custom message 既然\u Pragma可用,这应该可以工作。您不必使用#pragma GCC-poison,

我使用该函数测试Crashlytics集成,但我显然不想在应用程序中发布该代码

可能会使标识符中毒,因此任何当前或将来的使用都会导致错误:

#pragma GCC poison crash
是否有等效的
#pragma
指令在使用标识符时发出警告?我希望能够构建代码库,同时保留需要注意的可见指示器。

您可以使用
#warning

用法如下:

#warning This is a custom message

既然
\u Pragma
可用,这应该可以工作。您不必使用
#pragma GCC-poison
,只需
#定义
标识符
崩溃
,使用
#pragma GCC-warning
生成警告:

#define DO_PRAGMA(x) _Pragma(#x)
#define WARN(x) DO_PRAGMA(GCC warning #x)
#define crash WARN("crash" used) crash
前两个宏只会减少转义引号的工作量。请注意,
crash
会扩展到自身(以及
\u Pragma
),这是因为C预处理器不会在自己的扩展中扩展令牌


如果将
警告
更改为
错误
,则会出现错误。您可以通过使用更多的宏轻松地安排更改所有这些,或者您可以只使用在特定行中添加警告的
-Werror

,但它不会自动标记标识符的所有未来使用,就像
poison
一样。