Я работаю над приложением, которое связывается с DLL, которая сама содержит структуру данных, определение которой варьируется в зависимости от определения препроцессора:
struct Example
{
uint8_t StringA[32];
#if USE_B
uint8_t StringB[32];
#endif
};
Мне нужно использовать обе версии структуры в разное время в моем приложении. Следовательно, мне кажется, что мне нужно загрузить DLL, используя LoadLibrary
с USE_B undefined для части выполнения (это стандартно и просто), выгрузить ее, используя FreeLibrary
, а затем загрузить ее снова с USE_B, определенным с ненулевым значением значение. Я не уверен, как это сделать, и буду признателен за любую помощь.