You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

64位Windows DLL的WINE包装器spec文件编写疑问

WINE 64位DLL Spec文件调用约定说明

在64位Windows平台上,所有函数都遵循统一的x64调用约定,WINE对64位DLL的spec文件处理也完全适配这一规则,具体说明如下:

  • 64位场景下,spec文件中的functype字段(即32位里的stdcall、cdecl这类标识)可以直接省略,不需要指定任何调用约定类型。
  • 对应你给出的32位示例:
    @ stdcall foo (long ptr) Proxyfoo
    
    64位版本的spec写法简化为:
    @ foo (long ptr) Proxyfoo
    

之所以不需要指定functype,是因为64位Windows不存在多种调用约定的区分,WINE会自动按照x64调用约定处理函数的参数传递、栈帧清理等逻辑,无论原DLL中的函数是普通C函数还是C++成员函数,省略functype字段都能正常生成正确的包装器。

内容的提问来源于stack exchange,提问作者Morag Hughson

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 08:57:07