对于我的大学,我们正在研究“导航控制器”,其中一部分是我们必须为受保护的程序创建一个库(API?)/插件。
让我们说这个程序是汽车的“导航控制器”,因此该程序可以制作汽车即将驾驶道路的导航网格,并计算它应该在道路上行驶的路线以及何时转弯计算你是否应该刹车并转向转弯的外侧或内侧......
现在我们需要为此导航控制器创建API或库或适配器模式(?)。 导航控制器的算法应该隐藏在文件中,它不是开源的。 它是用C ++编写的。
任何正在制作游戏的程序员,让我们说“汽车模拟器”(而不是飞行模拟器),想要在他们的游戏中选择你可以将汽车放在“Auto Pilot”上,想要这个插件,导航插件。 ..
程序员应该能够“包含”我们的插件/库/ API并使用我们的函数,例如
int CalculateSteeringAxis(Pos currentPosition, Goal currentGoal)
他不应该看到我们的代码/算法。 任何游戏都应该能够“包含”我们的插件,所以我们的插件是一个独立的通用插件..
我找到了像“Adapter patterns / Wrapper”/“Win32 API”/“Decorators”这样的方法。什么可能是解决这个问题的最佳方案?
答案 0 :(得分:1)
您可以将代码编译为动态库(在Windows下称为“dll”,在Linux下称为“so”)或静态库。
然后将库发布给其他程序员,他们可以将库链接到他们的游戏中。
由于库被编译为二进制文件,其他人无法看到您的源代码和算法。