C++ 我如何使用单个代码库来实现Unreal和Unity 3D?
我有一个代码库,并计划(最终)将其作为Unity3D商店上的游戏模板提供给第三方。核心代码是用C语言编写的,带有一些nUnit和集成测试,同样是用C语言编写的 到目前为止,一切顺利。听起来没那么糟糕,但是 <>想一想,我想制作一个类似的游戏模板,它是用C++来实现的。我不希望在C和C++中保持两个代码基,这是愚蠢的(并且是Distar的一个配方)。C++ 我如何使用单个代码库来实现Unreal和Unity 3D?,c++,unity3d,unreal-engine4,C++,Unity3d,Unreal Engine4,我有一个代码库,并计划(最终)将其作为Unity3D商店上的游戏模板提供给第三方。核心代码是用C语言编写的,带有一些nUnit和集成测试,同样是用C语言编写的 到目前为止,一切顺利。听起来没那么糟糕,但是 想一想,我想制作一个类似的游戏模板,它是用C++来实现的。我不希望在C和C++中保持两个代码基,这是愚蠢的(并且是Distar的一个配方)。 相反,我想把所有的业务逻辑合并到C++或C语言中的一个库中。我实际上并不在乎哪一个,但我正朝着C++的方向摇摆,它具有跨平台的特性。我不害怕把我的C代码
相反,我想把所有的业务逻辑合并到C++或C语言中的一个库中。我实际上并不在乎哪一个,但我正朝着C++的方向摇摆,它具有跨平台的特性。我不害怕把我的C代码重新编译成C++,因为它完全是模块化的,而且测试良好。
假设我采用C++路由,我如何处理C++接口上的接口(C++中的抽象类)?P>我不认为为C++做DLL是有效的。你可以为C做DLL,不能保证不同C++接口之间的二进制兼容性。如果你想把类发布为接口,那么你可能会遇到很多问题。对于类的填充方式没有任何约定(至少没有广泛接受的跨平台约定)。您可以使逻辑接口纯粹是程序化的,这样就可以创建一个库,其中包含稍后可以从托管C#代码调用的函数。我想这不会有什么好处,因为开销太高,整个过程都不合理。因为Unity和UE没有任何共同点,所以维护两个独立的项目会容易得多。此外,当你对你的代码库实现逻辑时,它就很难创建C++的C++/C++等价物。你可以为C做DLL,不能保证不同C++接口之间的二进制兼容性。如果你想把类发布为接口,那么你可能会遇到很多问题。对于类的填充方式没有任何约定(至少没有广泛接受的跨平台约定)。您可以使逻辑接口纯粹是程序化的,这样就可以创建一个库,其中包含稍后可以从托管C#代码调用的函数。我想这不会有什么好处,因为开销太高,整个过程都不合理。因为Unity和UE没有任何共同点,所以维护两个独立的项目会容易得多。此外,当你对你的代码库实现逻辑时,创建C/C++等价物就显得微不足道了。