[C++]根据Debug或者Release编译类型执行不同的代码

一、简介

本文介绍了如何在C++中,根据编译类型的不同(Debug或者Release)规定代码执行不同的行为,使用 NDEBUG宏实现该目标。

二、代码示例

main.cpp文件代码:

#include <iostream>

#if NDEBUG
void fun()
{
    std::cout << "fun in Release.\n";
}
#else
void fun()
{
    std::cout << "fun in Debug().\n";
}
#endif

int main(int, char **)
{
    fun();
    return 0;
}

CMakeLists.txt文件内容:

cmake_minimum_required(VERSION 3.0.0)
project(HelloWorld VERSION 0.1.0 LANGUAGES C CXX)
add_executable(HelloWorld main.cpp)

当在build/目录下使用cmake -DCMAKE_BUILD_TYPE=Debug ..生成make文件,编译运行后的结果如下:

fun in Debug().

当在build/目录下使用cmake -DCMAKE_BUILD_TYPE=Release ..生成make文件,编译运行后的结果如下:

fun in Release().

posted on   刘好念  阅读(88)  评论(0编辑  收藏  举报  

相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

点击右上角即可分享
微信分享提示