source: http://openbooks.sourceforge.net/books/wga/dealing-with-libraries.html 你看,其实库的版本号当初是有含义的。

一般我们看见库版本号有a:b:c,正规含义是Current:Revision:Age。

Current在每次公开接口变化的时候都要变,不管是否向后兼容。

Revision在不变公开接口只是内部代码变化的时候变。变公开接口的时候应该归零。

Age表示向后兼容多少版本(不包括自己)。说如果Current是6但是你兼容4和5那Age就是2。 其实Age定义挺反人类的,定义成Current-Age多好……