我正在寻找一种优雅而实用的方法,可以在两个不同的程序之间共享模型,而无需单独编译它们。
我正在为同一个客户开发2个不同的软件。两者都以不同的方式共享相同的功能(卷填充优化)。但是用户界面既沉重又不同,因此为了清晰起见,我希望将它们分成两个不同的软件。
但是为了重用代码并使其易于维护,我希望建立一个类似核心的架构和每个软件的两个独立/专用层。
我想创建一个.dll或.so,两个应用程序都会共享它但我在Linux上开发并且客户正在使用Windows,所以我觉得以这种方式移植应用程序非常繁重。 (我没有任何运行Windows的计算机,所以我要去晚一个端口)
我还想过创建一个命令行程序作为核心,并在运行软件时通过shell调用它,但这似乎不可能以便携的方式进行。
有没有一种简单易用的方法(就像在python中导入模块一样)我在c ++中找不到? 或者如果没有,最好是使用共享库还是编译两个包含核心的软件?
答案 0 :(得分:2)
“编译包含核心的两个软件” - 从开发人员的角度来看,为了方便起见,首选。
如果你真的想使用一段编译的跨平台代码,你很可能必须写一个c风格的dll。