【发布时间】:2013-02-16 00:23:33
【问题描述】:
目前我们有一个用 MFC(服务器)和 Java(客户端)编写的遗留客户端/服务器系统。由于各种原因,该系统无法在 Internet 上运行。所以,我们正在开发一个小系统(这个遗留系统的功能很少),用 cake php 等来满足客户的需求。
现在,旧系统中的一项功能需要在这个新系统中使用。我们正在考虑制作该代码的 DLL,然后将其与 cake php 集成(以节省时间),但该 DLL 无法在新系统所在的 Linux 上运行。
那么,有没有什么办法可以生成一个dll,以便它在使用QT等的Linux系统中与php一起工作?
或
我们必须重写整个事情吗?在这种情况下,最适合开发跨平台 dll 的框架是什么。我更喜欢用Windows来写。
另外,我们可以用 cake php 运行 dll 吗?
谢谢
【问题讨论】:
-
windows
DLLs在 linux 上工作的唯一方法是 wine。你需要用 PHP 重写你的整个代码。 MFC 不能在 linux 上运行,所以 Qt 是一个不错的选择。 -
这需要更多细节。移植此代码的最佳策略完全取决于它的功能和它使用的 API。正如 Aleksandar 指出的那样,如果您的依赖项很简单(例如仅 win32 调用),Wine/winelib 可能是一个不错的选择。如果您有更复杂的需求,您可能会考虑在您的 Linux 系统上作为 VM 来宾运行“真实”窗口,并编写一些 shim 代码以通过本地套接字从 PHP 与您的 Windows 服务器通信,等等……但细节很重要,我们无法告诉你如何移植我们从未见过的代码。
-
感谢您的 cmets,它没有过于复杂的功能。由于此代码是大型 MFC 应用程序的一部分,我想重用此代码并将其放入库中,以便在 Linux 上运行 php 东西。主要是使用 MFC 的 CString、CStringList 等列表类、用于 ODBC 连接的 SQL API。我希望它能更清楚地说明要求。