当前位置:  开发笔记 > 编程语言 > 正文

在便携式应用程序中使用Windows DLL

如何解决《在便携式应用程序中使用WindowsDLL》经验,为你挑选了1个好方法。

我已经构建了一个Windows C++应用程序,我想将其移植到linux.这样做的主要原因是我们的IT员工可以轻松进行系统维护.除了运行此应用程序的一台Windows机器,我们只是一个Linux操作.

此应用程序构建在 - 并且在Windows上运行的原因是它使用Windows API(DLL和标头)连接到属于外部方的服务器.这个连接使用了一些我不想搞砸的专有协议,(我认为我不允许合同)所以我坚持使用.dll.

这个dll只是windows,因为(我怀疑)dll中的windows套接字特定代码.除此之外,它没有做很多先进的东西.有没有办法在WINE上运行Linux上的应用程序并嗅出协议并自己重新实现DLL,这将允许我让这个应用程序在Linux机器上运行?

这个想法受到关于QT创建者的这个项目的启发,所以任何允许我玩这个的解决方案都会非常酷.



1> CesarB..:

最明显的中间立场是使用Winelib.我不知道它是否可以直接链接到本机DLL,但如果没有,你可能可以加载它LoadLibrary().

然后,您可以将应用程序分为两部分:一个只调用DLL的包装器,其余的代码与您的包装器通信.您可以在两个单独的进程中使用,因此只需要使用Winelib编译包装器.然后,应用程序的其余部分可以使用您想要的任何框架.

推荐阅读
ERIK又
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有