C++中各平台表示Debug的宏

目录

[1.最常用的 Debug 宏](#1.最常用的 Debug 宏)

2.最通用、跨平台写法

3.完整示例

4.简单总结


1.最常用的 Debug 宏

1.MSVC(Visual Studio)

Debug 模式下自动定义

cpp 复制代码
_DEBUG  // 大写,前后有下划线

2.GCC / Clang / 通用 Makefile/CMake

通常用:

cpp 复制代码
DEBUG       // 自定义/项目常用
NDEBUG      // 标准C宏:Release 时定义,Debug 时不定义

2.最通用、跨平台写法

推荐用这个,兼容所有编译器

cpp 复制代码
// 只要不是 Release(不是 NDEBUG),就视为 Debug
#ifndef NDEBUG
    // 这里写 Debug -only 代码
    std::cout << "Debug 模式" << std::endl;
#endif

3.完整示例

cpp 复制代码
#include <iostream>

int main() {
#if defined(_DEBUG) || !defined(NDEBUG)
    std::cout << "当前是 Debug 模式\n";
#else
    std::cout << "当前是 Release 模式\n";
#endif

    return 0;
}

4.简单总结

  • VS Debug :用 _DEBUG
  • 跨平台通用 :用 #ifndef NDEBUG
  • assert 宏本身就依赖 NDEBUG
相关推荐
人间打气筒(Ada)4 小时前
如何基于 Go-kit 开发 Web 应用:从接口层到业务层再到数据层
开发语言·后端·golang
2501_924952694 小时前
代码生成器优化策略
开发语言·c++·算法
清风徐来QCQ4 小时前
八股文(1)
java·开发语言
lsx2024064 小时前
网站主机技术
开发语言
摇滚侠4 小时前
你是一名 java 程序员,总结定义数组的方式
java·开发语言·python
xyq20244 小时前
Vue3 条件语句详解
开发语言
浩浩kids5 小时前
R•Homework
开发语言·r语言
fengenrong5 小时前
20260324
c++·算法
qq_416018725 小时前
设计模式在C++中的实现
开发语言·c++·算法
Evand J5 小时前
【MATLAB教程】在matlab中,gscatter和scatter两个命令的区别
开发语言·matlab·教程·绘图·命令·教学