StillPhelix
Junior Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Доброе время суток! Программа должна загрузить две dll и вызвать функцию demo. Но вызов функции demo программа перескакивает. В качестве среды использовался visual studio 2010. Dll-ка и вызывающая её программа собирались в разных проектах. Проект для dll был создан на основе стандартоного шаблона, предложенного мастером. Исходник вызова dll: #include<Windows.h> int main() { void (*demo)(int a); HMODULE h; if ((h=LoadLibrary("fixupdemo.dll"))&&((h=LoadLibrary("fixupdemo2.dll"))&&(demo=(void(*)(int a))GetProcAddress(h,"meme")))) demo(0x777); } Исходник dll (fixupdemo.dll, fixupdemo2.dll): #include "stdafx.h" #include "fixupdemo.h" #include <stdexcept> using namespace std; namespace fixupdemo { void fixupdemo::meme(int x) { int a=0x666; x=a; } } Заголовочный файл для fixupdemo.dll #ifdef FIXUPDEMO2_EXPORTS #define FIXUPDEMO_API __declspec(dllexport) #else #define FIXUPDEMO_API __declspec(dllimport) #endif namespace fixupdemo { class fixupdemo { public: static FIXUPDEMO_API void meme(int x); }; } |