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

4 篇文章 1 订阅

一、简介

本文介绍了如何在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().
  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值