[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().
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)