19.03.2016, 15:38
общий
это ответ
Здравствуйте, r.shiba!
Модуль CmpPoints.cpp для создания CmpPoints.dll
[code h=200]
#include <windows.h>
BOOL APIENTRY DllMain( HANDLE hModule,
DWORD ul_reason_for_call,
LPVOID lpReserved
)
{
switch (ul_reason_for_call)
{
case DLL_PROCESS_ATTACH:
case DLL_THREAD_ATTACH:
case DLL_THREAD_DETACH:
case DLL_PROCESS_DETACH:
break;
}
return TRUE;
}
extern "C" __declspec(dllexport) int __cdecl IsIn(POINT *A, POINT *P1, POINT *P2)
{
return ((A->x >= P1->x) &&
(A->y <= P1->y) &&
(A->x <= P2->x) &&
(A->y >= P2->y));
}
[/code]
Модуль main.cpp для вызова функции IsIn из CmpPoints.dl
[code h=200]
#include "windows.h"
#include "iostream"
using namespace std;
typedef int (__cdecl *PISIN)(POINT *A, POINT *P1, POINT *P2);
int main()
{
PISIN pIsIn = NULL;
HINSTANCE h = LoadLibrary("CmpPoints.dll");
if (!h)
{
cout << "Can't find CmpPoints.dll" << endl;
return -1;
}
pIsIn = (PISIN) GetProcAddress(h,"IsIn");
if (!pIsIn)
{
cout << "Error in CmpPoints can't find func IsIn" << endl;
return -2;
}
POINT a = {1,1};
POINT p1 = {0,2};
POINT p2 = {2,0};
int result = pIsIn(&a,&p1,&p2);
cout<< "result = " << result << endl;
return 0;
}
[/code]
Не забудьте скопировать созданную CmpPoints.dll в нужное место
И надеюсь, как создать DLL, вопросов нет?
Об авторе:
"Если вы заметили, что вы на стороне большинства, —
это верный признак того, что пора меняться." Марк Твен