这里是vision master的例子。
有两点需要向他学习的。
1 需要每个算子是一个dll。优点是方便业务上,针对不同的算子精细化的更新,或者售卖。
2 每个算子的dll我们理解,内容主要是其接口的实现。而真正的算法内容是在上面的algorithm.dll中。这是为了build时可以解耦。
3 所以这种dll的拆分也好,或者cmake中的obj,就有这种好处。就是将build的单元解耦开。提升build时的效率。
比如,有时单独改一个接口,只要重新构建那个接口的dll就可以了。如果大家都写在一个dll里面,那么每次改一下接口,就需要重构整个算法模块。这是比较低效的。