Windows和Linux中的可移植代码C ++

时间:2012-11-09 09:21:33

标签: c++ portability

我想用C ++编写的应用程序必须兼容linux和windows。要求是我需要在Linux G ++编译器中开发并在Windows平台上运行它。 如果您能就如何开始开发提供方向,我将不胜感激?使用哪个IDE以及我需要使用哪些库来使代码兼容。另外,我想在同一个应用程序中开发UI,以便我应该创建哪种类型的项目(比如Java中的Web项目)谢谢。

3 个答案:

答案 0 :(得分:2)

我的建议是使用Qt。它是跨平台的,具有良好的IDE(Qt Creator),并允许创建GUI。

答案 1 :(得分:2)

最好的IDE是Unix开发环境本身:你没有 真的想要所有限制你选择的GUI东西。如果你是 刚开始,很高兴避免不得不处理makefile等, 但是如果你担心可移植性,你将不得不处理 无论如何。

其他方面,可移植性取决于您的应用程序必须执行的操作。 你可以使用标准的C ++做很多事情,它是一种可移植的。你会 仍然要处理不同编译器实现的事实 不同版本的标准,或多或少,但如果你坚持 到C ++ 03,你不应该有太多问题。

然而,标准C ++没有涉及很多东西。该 套接字接口(用于网络)在两者之间非常相似 系统,并不应该太难将它包装在C ++类中 隐藏差异。比如阅读目录或线程 可以使用Boost完成,它隐藏了差异。如果你需要 事务完整性,你需要包装文件访问,因为 函数的名称和参数是非常不同的 两个系统之间。 (我甚至不确定交易 Windows下可以实现完整性。)GUI界面是 完全不同;你最好的选择是使用便携式GUI 像wxWidgets这样的界面。

最后,无论您采取多少预防措施,都希望在您移植时不要立即使用某些东西。 (或者曾经表达过:“唯一可移植的代码是已移植的代码。”)

答案 2 :(得分:1)

eclipse或QtCreator可能是您的选择 您还可以使用MINGW并配置环境并使用emacs来完成任务