У меня есть приложение VC ++ win 32, которое компилируется в EXE. Но теперь я хочу преобразовать его в dll, чтобы можно было загрузить его в другое приложение. Я попытался изменить свойства Visual Studio с .EXE на .DLL, который успешно преобразовал его, но когда я использую GetProcAddress, он всегда возвращает NULL. Я не уверен, что я делаю правильно или неправильно.
В основном это то, чего я хочу достичь:
- Я хочу связать проект 1 и проект2
- Проект 2 должен иметь возможность вызывать функции проекта1 (который является исполняемым)
EDIT
Привет, ребята, спасибо за ваш вклад. Я сказал, что вы, ребята, сказали. даже тогда мой GetProcAddress возвращает ноль. Я делаю что-то не так. Показываю мой код загрузки DLL ниже.
HINSTANCE LoadMe = LoadLibrary( _T("D:\\VC++Project\\CVAList\\CVAList\\ExportTest.dll"));
if (LoadMe != 0)
printf("LoadMe library loaded!\n");
else
printf("LoadMe library failed to load!\n");
EntryPointfuncPtr LibMainEntryPoint;
LibMainEntryPoint = (EntryPointfuncPtr)GetProcAddress(LoadMe,"PrintFloatsVal");
LibMainEntryPoint (a1 ,a,b,c,d ); // 4 double
РЕДАКТИРОВАТЬ Код экспорта DLL
#define DllExport __declspec( dllexport )
DllExport void PrintFloatsVal ( int amount, double &d1 ,double &d2 , double &d3 ,double &d4)
{
....
..
}