[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().
浙公网安备 33010602011771号