【问题标题】:C - DLL needs to be __stdcall and import __cdecl libC - DLL 需要是 __stdcall 并导入 __cdecl lib
【发布时间】:2012-07-28 23:20:57
【问题描述】:

我正在编译一个需要使用 portaudio 的 DLL。它也为套接字等使用各种 Windows 库,但链接器无法识别 portaudio 库。然后我记得 portaudio 使用 __cdcel 而不是 __stdcall。通常我只会使用 __cdcel 并完成它,但我正在编译的 DLL 需要使用 __stdcall,因为我将在 Visual Basic 中使用它。

如果这个项目对你来说听起来有点杂乱无章,那就是。

【问题讨论】:

    标签: c vb.net dll portaudio stdcall


    【解决方案1】:

    愚蠢的我!我所要做的就是使用 __cdcel 并将导出的函数声明为 __stdcall!

    【讨论】:

      【解决方案2】:

      我想你需要使用 __cdecl 因为 portaudio 会调用你的一些函数?然后创建一个声明为 __cdecl 的内部函数,将此函数传递给 portaudio,并提供一个调用您的内部函数的导出函数(声明为 __stdcall)。

      但我有点猜测你想要做什么,你应该提供更多信息。

      【讨论】:

      • 啊,是的,我在询问后不久就回答了自己的问题,抱歉打扰。相反,我让我的应用程序使用 __cdecl(使端口音频工作)并将导出的函数声明为 __stdcall。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-11-28
      • 2023-03-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多