【发布时间】:2011-10-20 05:17:30
【问题描述】:
我有一个相当大的基于 MFC 的程序。我的任务是让它在 Linux 上运行。我已经解释过,这将需要将程序重写为带有 STL 的直接 C++(更多工作)或 Qt/C++(更少工作)。现在有人告诉我,我需要编写包装器以使每个 MFC 类在 Linux 中工作,并使用预处理器指令仅编译 Linux 或 Windows 中所需的内容。我解释说我们的通信断开了,我认为这比从头开始重写整个项目(我不必这样做来转换为 Qt)要多。
有什么好的论据可以帮助解释这个问题吗?我错了吗?
【问题讨论】:
-
“需要编写包装器以使每个 MFC 类在 Linux 中工作”...嗯,什么?我会说 Qt 是最明智的选择。
-
MFC 只是 Windows API 的一个薄包装器。您必须将这些 API 调用中的每一个替换为等效的 Linux 调用。与你打交道的人显然对编程知之甚少!
-
虚拟机(Linux作为hostm windows作为guest)是不可能的吗?
-
@Clifford :您还没有看到惯用的 MFC 代码。这非常假设
CDC只是HDC。当您在没有HDC的系统上运行时,事情会迅速走下坡路。 -
很好奇故事的结局。