C - DLL需要是__stdcall和导入__cdecl lib
题
我正在编制一个需要使用portaudio的dll。它使用各种Windows Librasies为套接字等等,但链接器无法识别Portaudio库。然后我记得portaudio使用__cdcel而不是__stdcall。通常我只需使用__cdcel并使用它完成,但我正在编译的dll需要使用__stdcall,因为我将与Visual Basic一起使用它。
如果这个项目听起来像你的一点点,它就是。
解决方案
愚蠢的我!我所要做的就是使用__cdcel并将导出的函数声明为__stdcall!
其他提示
我认为您需要使用__cdecl,因为portaudio会调用您的一些功能?然后创建一个内部函数声明__cdecl,将此函数传递给portaudio,并提供调用内部函数的导出函数(声明__stdcall)。
但我有点猜测你想要做的事情,你应该提供更多信息。
不隶属于 StackOverflow