2016-07-27 48 views
-2

我想在C++中创建一个程序,但我也想重用我的代码在多个操作系统和体系结构中编译它,代码更改。所以,我必须创建一个GUI可执行文件和一个逻辑可执行,使得:用于可执行逻辑(来自控制器开始,如果相比于MVC)如何在C++中分离gui与逻辑(模式和库是通信2可执行文件所必需的)

  • 足以集架构组istructions(86,64或臂)和操作系统(IOS ,android,Windows,Linux等),然后重新编译我的代码而不进行语法更改;
  • 对于每个操作系统(Windows,Android,ios,...),每个架构集(Android和Linux都可用于arm,x86和x64)以及各种显示大小在15“以下

为了做到这一点,我必须找到一种方法来允许在gui可执行文件和逻辑可执行文件之间进行通信...我该如何做到这一点?我必须使用一些库?一套已经包含的图书馆或图书馆,可用于操作系统,语言和架构集的每种组合?

目标是重用最可能的逻辑代码,并使不同的代码对于操作系统和显示器尺寸的每种组合(如果小于15英寸)。

我使用的IDE是Visual Studio 2015,我不想使用诸如.NET框架或虚拟机之类的解决方案,因为我想最大限度地利用硬件的效率。

希望这个请求很容易理解。

+1

如果你不得不问这个问题,我怀疑最重要的问题是硬件的效率。 – Dutow

+0

查看平台无关的框架/工具包,可以帮助您完成此任务。例如,请参阅https://www.qt.io/。 但是,你的问题只是在当今应用程序开发中最复杂的话题之一。没有简单的答案。 – user16

+0

@Dutow:为什么我可以同时获得效率和可移植性? – n3o

回答

0

你必须使用一些多平台GUI库(Qt,wxWidgets等)。如果你真的想要分离GUI和逻辑的二进制文件,你必须创建动态库(DLL,所以,取决于操作系统)。

+0

您*可以*使图形用户界面和业务逻辑单独处理,然后你“只”必须找到一种便携的方式来进行跨进程通信。 –

+0

@MartinBonner你当然是对的。我只是认为,以多平台方式分离为exec和shared lib“有点”更简单:)。 – Lehu

+0

我想要一种方式,以便进程之间的通信可以在编程时间内独立于平台并且对所有人都有效,我不想要框架或虚拟机 – n3o

0

对于gui组件,我以其他方式找到它们或实现GUi应用程序与其他IDE,但最重要的是找到一种可能集成在C++语言中的方式,并且可用于所有平台,我可以发送并从GUI接收数据;一个在Java中的视图类相似的东西(例如春天,但也没有它,简单的实现模型 - 视图控制器模式)...一些想法? C++中的管道在所有操作系统中都是有效的?我已阅读的共享内存,可以给出从x86架构更改为X64的问题...

+0

没有人可以回答我? – n3o

相关问题