用户界面-如何在C++中将gui与逻辑分离(通信2个可执行文件所需的模式和库)



我想用c++制作一个程序,但我也想重用我的代码,在多个操作系统和体系结构中编译它,尽可能减少代码的更改。所以我必须创建一个gui可执行文件和一个逻辑可执行文件,以便:

  • 对于可执行逻辑(如果与mvc相比,则从控制器开始)足够设置架构集结构(x86、x64或arm)和操作系统(ios、android、Windows、Linux…),然后重新编译我的代码,而不进行语法更改
  • 可执行的gui在更改每个操作系统(Windows、android、ios…)、每个架构集(android和linux有arm、x86和x64版本)以及每个15英寸以下的各种显示尺寸时都有所不同

要做到这一点,我必须找到一种方法,允许在gui可执行文件和逻辑可执行文件之间进行通信。。。我该怎么做?我必须去图书馆吗?是否已经包含了一套可用于操作系统、语言和体系结构集的库?

目标是尽可能重用逻辑代码,并为操作系统和显示大小的每种组合(如果小于15英寸)制作不同的gui代码。

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

希望这个要求简单易懂。

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

对于gui组件,我可以用其他方式找到它们,或者用其他IDE实现gui应用程序,但最重要的是找到一种可能集成在C++语言中并且在所有平台上都可用的方式,在那里我可以从gui发送和接收数据;与java中的view类类似的东西(例如有spring,但也没有它,简单地实现模型-视图-控制器模式)。。。一些想法?C++中的管道在所有操作系统中都有效吗?我读到的共享内存可能会在将体系结构从x86更改为x64时出现问题…

相关内容

最新更新