我创建了一个标题来存储我的整个项目中使用的一堆常用常量。它们看起来像这样:
static const double MY_CONST = FOO();
问题是regsvr卡在我的新文件中。在调试到regsvr之后,它似乎陷入了这条线。在杀死regsvr进程后,我可以运行该程序并逐步完成它。然而,这显然是一个问题,因为它必须在交付时成功注册。我宁愿在每个文件中都没有一堆static const double
定义。有办法解决这个问题吗?我有一个想法是#define
方法,它是一个返回static const double
#define MY_CONST (double)[]({ static const double test = FOO(); return test; })
然而我似乎无法让它发挥作用。有什么建议吗?
答案 0 :(得分:0)
我调试到了regsvr32
,结果证明任何需要登录的功能都是'上下文,因此DLL将在注册时冻结。解决方法是将我的常量指定为预处理程序指令。
答案:
#define MY_CONST FOO()