如何判断代码运行在DEBUG还是RELEASE模式下
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何判断代码运行在DEBUG还是RELEASE模式下相关的知识,希望对你有一定的参考价值。
首先确定下项目的 Build Settings 是否已经设置过宏定义 DEBUG,如何看呢?点击 Build Settings ,然后在搜索框里输入‘macros’
如果已经设置过,在 Preprocessor Macros 的 Debug 后面会有 DEBUG=1,如果没有,就手动设置下。
接下来就可以这样做了
#ifdef DEBUG
//do sth.
#else
//do sth.
#endif
一般Apple已经为我们设置好了 DEBUG 的宏定义,所以,我们只要让 NSLog 在 DEBUG 模式下失效就好了,这样能让我们的程序运行起来更加稳定,同时我们也可以继续使用正规的 NSLog。
//put this in prefix.pch
#ifndef DEBUG
#undef NSLog
#define NSLog(args, ...)
#endif
.. 参考技术A 断点。能进入断点就是debug
[转] 关于VS中区分debug与release,32位与64位编译的宏定义
在vs编程中,常常涉及到32位和64位程序的编译,怎么判断当前编译是32位编译还是64位编译?如何判断
是debug下编译还是release下编译?因为之前用到,这里记录一下,省的忘了又要疯狂的google。
1.判断是debug编译还是release编译。
如果_DEBUG定义了表示是debug编译,否则是release编译。
2.判断是32位编译还是64位编译。
在 Win32 配置下,_WIN32 有定义,_WIN64 没有定义。在 x64 配置下,两者都有定义。即在 VC 下,_WIN32 一定有定义。
因此,WIN32/_WIN32 可以用来判断是否 Windows 系统(对于跨平台程序),而 _WIN64 用来判断编译环境是 x86 还是 x64。附一个表:
常量\定义 | 预定义选项 | Windows.h | VC编译器 |
WIN32 | Win32 | √(minwindef.h) | × |
_WIN32 | × | × | √ |
_WIN64 | × | × | x64 |
最后附上根据相应编译情况,进行有条件的链接相应静态库的示例代码,其实就是一些宏定义语句的使用:
#include "json/json.h" #ifdef _DEBUG #ifndef _WIN64 #pragma comment(lib,"json/json_mtd.lib") #else #pragma comment(lib,"json/json_mtd_x64.lib") #endif #else #ifndef _WIN64 #pragma comment(lib,"json/json_mt.lib") #else #pragma comment(lib,"json/json_mt_x64.lib") #endif #endif using namespace Json;
转自:http://blog.csdn.net/zhuyingqingfen/article/details/24352137
以上是关于如何判断代码运行在DEBUG还是RELEASE模式下的主要内容,如果未能解决你的问题,请参考以下文章
Flutter中如何判断当前运行模式是Debug还是Release
Flutter中如何判断当前运行模式是Debug还是Release
Flutter中如何判断当前运行模式是Debug还是Release
Android 判断是开发debug模式,还是发布release模式