有没有办法将我的程序与Wine编译的部分联系起来?

时间:2010-04-11 15:09:31

标签: c++ linux gcc wine

我正在尝试在Linux中使用Windows DLL功能。 我目前的解决方案是一个单独的葡萄酒应用程序的汇编,它使用dll并在dll和主应用程序之间通过IPC传输请求/响应。

这很有效,但与简单的dll调用相比,这是一个真正的开销。

我看到wine编译的程序通常是一个bootstrapping脚本和一些.so,它(根据 file 实用程序)是普通的linux动态链接库。

有没有办法将.so直接链接到我的应用程序?有没有手册?

1 个答案:

答案 0 :(得分:6)

您可以使用Winelib编写可以使用Windows DLL的Linux应用程序。

修改

供将来参考:

libtest.c

#include <stdio.h>
#include <windows.h>
int main(int argc, char* argv[])
{
  HMODULE h;

  h = LoadLibrary("cards.dll");
  printf("%d\n", h);
}

执行:

$ winegcc -m32 libtest.c 
$ ./a.out
536936448