Caffe_initial_commit
前言
又是一个新开的天坑,希望自己能够坚持下去吧,技术考古还是很有意思的。Caffe是很规范的C++大型工程了,希望这样的考古能学到不少东西。
Initial Commit
2013年9月13号,Yangqing Jia大佬提交了第一个commit,initial commit的东西当然不多,不过还是有些意外的惊喜的,我们来看看,这个commit在GitHub上的超链接是c24f3c3f9914ca8fc946e7129acd5fa50c16c65f
第一次只提交了.gitignore和README,代码如下
.gitignore:
# .GITIGNORE
# Compiled Object files
*.slo
*.lo
*.o
# Compiled Dynamic libraries
*.so
*.dylib
# Compiled Static libraries
*.lai
*.la
*.a
README.md
caffeine
========
caffeine.
首先来看.GITIGNORE,一开始只是忽视了一些编译过程中的Object files和库文件,详细说一下各个后缀名都是对应了什么文件。
Object files
- .slo: 这个文件我没有查到
- .lo: 使用libtool编译出的目标文件,其实就是在o文件中添加了一些信息
- .o: 普通的Object file
Dynamic libraries
- .so: Linux环境下的动态链接库
- .dylib: bsd(Berkeley Software Distribution)下的动态链接库
Static libraries
- .lai: 这个我也没有查到
- .la: libtool自动生成的一些共享库
- .a: Archive File, Linux下的静态库
好玩的是原来caffe一开始的名称是caffeine…
libtool
总的来说libtool是一个可以避免我们费心处理各种库的依赖关系的工具