我正在寻找一种优雅实用的方法来在 2 个不同的程序之间共享模型,而无需单独编译它们。
我正在为同一个客户开发 2 种不同的软件。两者以不同的方式共享相同的功能(体积填充优化)。但是用户界面既笨重又不同,因此为了清楚起见,我希望将它们分成 2 个不同的软件。
但为了重用代码并使其易于维护,我希望每个软件都有一个核心和两个分离/专用层的架构。
我考虑过创建一个 .dll 或 .so 以便两个应用程序共享它,但我在 linux 上开发并且客户使用的是 Windows,所以我发现以这种方式移植应用程序非常繁重。 (我没有任何运行 Windows 的计算机,所以我要延迟移植)
我也想过创建一个命令行程序作为核心,在运行软件的同时通过shell调用它,但这似乎无法以可移植的方式做到。
是否有一种简单且可移植的方法来执行此操作(很像在 python 中导入模块)我在 c++ 中找不到? 或者如果没有,最好使用共享库还是编译包含核心的两个软件?
最佳答案
“在包含核心的情况下编译两个软件”- 从开发人员的角度来看,为了方便起见,这是首选。
如果您真的想使用一段已编译的跨平台代码,您可能必须编写一个 c 风格的 dll。
关于c++ 2软件,相同模型不同的 View 和 Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19078704/