【发布时间】:2010-08-06 17:16:13
【问题描述】:
我有一个大型程序,其中包含几个使用 MFC 和 /clr 编译的大型 DLL。程序集中有 65535 个全局 FieldRVA 条目的限制。如果更多,则加载程序引发异常。我已经启用字符串池 (/GF)。
我有很多类似的代码:
static char *pSTRING_ONE = "STRING_ONE";
如果我使用宏进行编译,例如:
#define pSTRING_ONE "STRING_ONE"
它大大减少了 CLR 元数据的字符串,因此我进行了编译,但随后我得到了使用 #define 的所有问题。
问题是:除了更改静态字符 * -> #define 之外,还有其他选择吗?
【问题讨论】:
-
您在使用
#define时遇到的具体问题是什么? -
问题在于宏可以重新定义。我也不确定对程序大小的影响。
标签: .net c++ visual-studio mfc