从类函数内部调用DLL的extern函数

时间:2013-03-15 14:54:14

标签: c++ c dll dllexport

我有一个example.cpp文件,其中包含Windows中的example.h。在文件example.h中有一个声明为

的函数
   //example.h  
   _EXTERN S16BIT _DECL function();

该函数从DLL中删除。在我的example.cpp文件中,我有一个类myclass,我想从类function()的成员函数调用classfunc(),所以,

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

 }   

它编译得很好但是当它运行时它会给我一个访问冲突异常。我知道这是错的,但不知道解决方案。

已编辑:_EXTERN被定义为空;

   #define _EXTERN

_DECL定义为;

   #define _DECL __stdcall

S16BIT 2个字节

1 个答案:

答案 0 :(得分:0)

似乎你想从DLL中调用/使用纯C函数,function()。 请注意__stdcall是C ++函数的调用约定,您应该使用__cdecl

在你的h文件中声明你的函数

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