Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
[C++] Проблемы с подлинковкой DLL. Нужна помощь!!! 03.07.02 18:18 Число просмотров: 662
Автор: looptop Статус: Незарегистрированный пользователь
|
Привет. При выходе из функции, указатель на которую мы взяли из подлинкованной библиотеки, проиходит ошибка такого характера: (я не могу понять в чём причина)
--------------------------------------------------------------------------------------
Debug Error!
Program: C:\temp\Cpp2.exe
Module:
File: i386\chkesp.c
Line: 42
The value of ESP was not properly saved across a function call. This is usually a result of calling a function declared with one calling convention with a function pointer declared with a different calling convention.
---------------------------------------------------------------------------------------
А ошибка происходит при выходе из:
EXECFUNC(psrc,sum);
Исходной код программы:
---------------------------------------------------------------------------------------
typedef void (WINAPI*pFUNC)(int*,int);
.....
HINSTANCE hLib;
pFUNC EXECFUNC;
.....
hLib=LoadLibrary("TempLibrary/tmplib.dll");
EXECFUNC=(pFUNC)GetProcAddress(hLib, "main");
.....
if(EXECFUNC==NULL)
{
FreeLibrary((HMODULE)hLib);
return -4;
}
printf("before: sum = %d\n",sum);
EXECFUNC(psrc,sum); //при выходе - ошибка
printf("after: sum = %d\n",sum);
FreeLibrary((HMODULE)hLib);
.....
---------------------------------------------------------------------------------------
Код самой библиотеки:
#include "stdafx.h"
#include <stdio.h>
extern "C" __declspec(dllexport) void main(int *psrc,int sum)
{
printf("+IN LIBRARY MAIN()+\n");
for(int i=0;i<9;i++) {
printf("src[%d] = %d\n",i,psrc[i]);
sum+=psrc[i];
}
printf("Sum = %d\n",sum);
return;
}
---------------------------------------------------------------------------------------
Помогите понять в чём проблема?!!!
С Уважением looptop!
|
- [C++] Проблемы с подлинковкой DLL. Нужна помощь!!! - looptop 03.07.02 18:18 [662]
|
|
|