Linux 使用技巧之阅读代码时如何快速追踪摸个关键词 2018-01-05

 使用Linux  grep 命令。例如在src/caffe/layer_factory.cpp 中有个宏调用:REGISTER_LAYER_CREATOR(Pooling,GetPoolingLayer)

cd $caffe_root

grep -n -H -R "REGISTER_LAYER_CREATOR"


命令行参数解释:

-n   --显示行号,便于定位

-H  --显示文件名便于定位

-R   --递归查询每一个子目录,适合工程较大,分对歌目录存放的场景

直观的显示了所有包含这个宏的文件名和行号,我们能通过数策划仔细甄别出宏定义的位置,另外,无需分别打开每个文件,也能看到这个那个工程中所有通过该宏注册的层生成器(卷积层,下采样层,非线形层Sigmoid,ReLU,和TanH,分类层So f t ma x,以及python 层。)打开include/caffe/layer_factory.hpp ,跳到第113行可以看到该宏的定义

#define REGISTER_LAYER_CREATOR(type, creator) 

 static LayerRegistererg_creator_f_##type(#type, creator); 

 static LayerRegistererg_creator_d_##type(#type, creator)

推荐阅读更多精彩内容