Есть ли версия GetProcAddress для экспортированных данных?Загрузить динамически экспортированные данные DLL
Я хотел бы сделать что-то вроде:
Mydll.cpp:
MyDataType::MyDataType(long, wchar_t*)
{
//Dummy code
this->temp = 3;
}
__declspec(dllexport) MyDataType Here(50, L"random text");
MyClient.cpp:
int main(void)
{
HINSTANCE hData = LoadLibrary("MyDll.dll");
reinterpret_cast<MyDataType*>(GetDataAddress(hData, "Here"))->DoSomething();
}
То есть, определить экспортируемые данные ("Здесь") UDT («MyDataType»), и они получают свой адрес, когда DLL динамически загружается. Это возможно?
на странице msdn говорится: «Извлекает адрес экспортируемой функции или переменной из указанной библиотеки динамической компоновки (DLL)». - то есть он должен просто работать (tm) – pm100
Я соглашусь с pm100. Какая часть процесса, который вы описали _isn't_, когда DLL загружается во время выполнения? – Phixle
Проверьте экспорт с mydll.cpp. Я не знаю, какое искажение '__declspec (dllexport)' помещает имя, но, возможно, что-то, поэтому вызов GetProcAddress не сможет найти символ, используя только 'Here', и вам нужно будет использовать полное искаженное имя , – 1201ProgramAlarm