gpt4 book ai didi

c++ - 从类函数内部调用 DLL 的 extern 函数

转载 作者:行者123 更新时间:2023-11-30 17:53:44 25 4
gpt4 key购买 nike

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

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

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

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

}

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

已编辑:_EXTERN 定义为空;

   #define _EXTERN

_DECL 定义为;

   #define _DECL __stdcall

S16BIT 2字节

最佳答案

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

在你的 h 文件中声明你的函数,如下所示

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

关于c++ - 从类函数内部调用 DLL 的 extern 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15435479/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com