代码结构:为何重要算法不和接口编译到一个dll里面

代码结构:为何重要算法不和接口编译到一个dll里面_第1张图片

这里是vision master的例子。

有两点需要向他学习的。

1 需要每个算子是一个dll。优点是方便业务上,针对不同的算子精细化的更新,或者售卖。

2 每个算子的dll我们理解,内容主要是其接口的实现。而真正的算法内容是在上面的algorithm.dll中。这是为了build时可以解耦。

3 所以这种dll的拆分也好,或者cmake中的obj,就有这种好处。就是将build的单元解耦开。提升build时的效率。

比如,有时单独改一个接口,只要重新构建那个接口的dll就可以了。如果大家都写在一个dll里面,那么每次改一下接口,就需要重构整个算法模块。这是比较低效的。

你可能感兴趣的:(cmake)