Create custom #warning flags

丶灬走出姿态 提交于 2019-12-18 08:33:09

问题


I'm building a commercial app, and we are using some GPL code to help us along.

How can I add #warning or #error statements so that when the code is built for debug, it warns, but when we build for release it throws errors?

I can do:

#warning this code is released under a CCL licensing scheme, see Source_Code_License.rtf
#warning this code is not LGPL-compliant
#warning this code was copied verbatim from a GP Licensed file

at the beginning of files, but can I do better? Is there a better way of tagging a file if it's included?

I'm using Objective-C++ with gcc or clang.


回答1:


Use #pragma message instead.




回答2:


#ifdef SOME_SYMBOL
#error "foobar"
#else
#warning "foobar"
#endif

NDEBUG has a slightly different purpose (controlling assert) and may be #undef and re-defined selectively (reincluding assert.h to effect the change), so it probably wouldn't be the right symbol. But it is a standard macro and could be used.

Note that #error is standard, but #warning is an extension.



来源:https://stackoverflow.com/questions/4168245/create-custom-warning-flags

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!