我使用 crash
函数测试Crashlytics集成,但是我显然永远不想在应用程序中发布该代码。
可能会毒化标识符,以便当前或将来的任何使用都会导致错误:
#pragma GCC poison crash
当使用标识符时,是否存在等效的
#pragma
指令发出警告?我希望能够构建代码库,同时保留需要注意的可见指示符。 最佳答案
现在可以使用_Pragma
了。除了使用#pragma GCC poison
,您还可以使用标识符#define
来对crash
进行编码,该方式将使用#pragma GCC warning
生成警告:
#define DO_PRAGMA(x) _Pragma(#x)
#define WARN(x) DO_PRAGMA(GCC warning #x)
#define crash WARN("crash" used) crash
前两个宏可以减少转义引号的工作量。请注意,
crash
会扩展到自身(以及_Pragma
),这是因为C预处理程序不会在自己的扩展内部扩展 token 。如果将
warning
更改为error
,则会收到错误消息。您可以通过使用更多的宏轻松地安排更改所有这些宏,或者可以只使用-Werror
关于ios - 警告等效于#pragma毒药,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33679699/