【发布时间】:2019-04-11 04:36:04
【问题描述】:
我正在开发一个链接到 DLL 的应用程序,该 DLL 本身包含一个数据结构,其定义因预处理器定义而异:
struct Example
{
uint8_t StringA[32];
#if USE_B
uint8_t StringB[32];
#endif
};
我需要在我的应用程序中的不同时间使用这两个版本的结构。因此,似乎我需要使用 LoadLibrary 加载 DLL,其中未定义 USE_B 用于部分执行(这是标准且简单的),使用 FreeLibrary 卸载它,然后使用定义为非零的 USE_B 再次加载它价值。我不确定如何执行此操作,如果有任何帮助,我将不胜感激。
【问题讨论】:
-
将代码更改为具有两个版本的结构