Вызов внешней функции DLL из функции класса

У меня есть файл example.cpp, который включает example.h в Windows. В файле example.h есть функция, объявленная как

   //example.h
_EXTERN S16BIT _DECL function();

Функция извлечена из DLL. В моем файле example.cpp у меня есть класс myclass что я хочу назвать function() из функции-члена класса classfunc() так,

  //example.cpp
class myclass{
public:
classfunc(){
function();
}

}

Он хорошо компилируется, но при запуске выдает исключение нарушения прав доступа. Я знаю, что это неправильно, но не знаю решения.

EDITED: _EXTERN определяется как пустое;

   #define _EXTERN

_DECL определяется как;

   #define _DECL __stdcall

S16BIT 2 байта

0

Решение

Кажется, вы хотели бы вызвать / потреблять чистую функцию C, function (), из DLL.
Обратите внимание, что __stdcall это соглашение о вызовах для функций C ++, вы должны использовать __cdecl

В вашем h файле объявите вашу функцию следующим образом

extern "C" __declspec( dllexport ) signed short function();
0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector