C++之#if defined ..... #endif

C++之#if defined ..... #endif,第1张

在工作中,发现了这一段代码:

#if defined (_TUXEDO_)
			tpabort(0);								//事务回滚
			tpbegin(0,0);							//开始事务
#elif defined (_IMTOP_)
			px_rollback();							//事务回滚
			px_begin(0, 0);							//开始事务
#elif defined (_DCDS_)
			CDbConnection::GetCurrent()->Rollback();//事务回滚
			CDbConnection::GetCurrent()->BeginTransaction();//开始事务
#endif

首先我不明白的是,为什么要这么写。
我去问了,带我上路的阿姐,得到这个回答:

我不能不管啊,我不会啊!!!!!!

那我就百度吧,以下是我学到的笔记,来看看叭~

首先是这个:
#if defined和#if !defined(c语言的宏定义)

//我们要检查a是否定义
#if defined a 
#undef a 
#define a 200 
#endif 
//上述语句检验a是否被定义,如果被定义,则用#undef语句解除定义,并重新定义a为200 
#ifndef a    //如果a没有被定义 
#define a 100 
#endif 

#undef为解除定义
#ifndefif not defined的缩写,即如果没有定义

作用

//1 条件编译

#if !defined XXX_XXX 
#define XXX_XXX 
#endif

//2 错误信息

#if !defined(__cplusplus) 
#error C++ compiler required. 
#endif 

其次是:TUXEDO
这个我另外写了一篇文章,链接放这里,点进去看看叭~
TUXEDO

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/914789.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-16
下一篇 2022-05-16

发表评论

登录后才能评论

评论列表(0条)

保存