我有一个平均的c ++背景但是我没有用MFC开发任何东西,我遇到了一个我需要移植的Lib,并且有很多调用断言的例子
void putValue(LPCTSTR lpszValue)
{
ASSERT(AfxIsValidString(lpszValue));
.
.
.
}
和MSDN
ASSERT宏的最典型用途是识别程序 开发期间的错误。给ASSERT的论据应该是 选择使它只有在程序运行时才成立 意。宏评估ASSERT参数,如果是 参数表达式为false(0),提醒用户并暂停程序 执行。如果参数为真(非零),则不执行任何操作。
如果我要将它移植到GCC中进行编译,那么正确的做法是将条件放在if语句中并抛出异常id条件有效吗?
答案 0 :(得分:3)
我认为你可以简单地说:
#ifndef ASSERT
#include <cassert>
#define ASSERT assert
#endif