我试图获得类似的东西:
#if (!defined(SVN_REV) || (SVN_REV==""))
char svnrev[10]="not found";
#else
char svnrev[16]=SVN_REV;
#endif
处理编译器没有找到特定环境变量的情况:
define SVN_REV ""
对我来说应该被视为缺少定义。
但似乎这是不可能的,是否有人找到了实现结果的方法?
答案 0 :(得分:1)
不,C预处理器不会比较字符串。
你可以这样做:
#if !defined SVN_REV
#define SVN_REV "not found"
#endif
const char *svnrev = SVN_REV;
达到同样的效果。