emacs + etags + cscope + ecb阅读代码

本文介绍如何利用etags生成符号索引文件并结合cscope进行高效的源代码导航。通过具体命令示例展示了如何为不同目录创建TAGS文件,并在项目中引用这些文件,以及如何查找特定类型的文件并通过cscope快速定位定义。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在固定目錄下, 如$HOME下爲/usr/include/下的文件創建TAGS.include, 用文件的絕對路徑, 不用相對路徑, 然後在項目文件夾下用--etags-include將其包含進來:

$: etags -R /usr/include -o TAGS.include

$: etags -R /directory/for/coreutils/and/gnulibs/ -o TAGS.gnu

$: cd ${DIRECTORY_FOR_PROJECT}

$: etags -a --etags-include=$HOME/TAGS.include --etags-include=$HOME/TAGS.gnu -o TAGS.prog

emacs: M-x visit-tags-table RET TAGS.prog RET

 

但是etags在全面性方面还是不如cscope那么逆天, 所以配合好cscope还是很有必要的: 

$: cd /directory/for/my/project

$: find /directory/for/coreutils/and/gnulibs/ /directory/for/my/project/  -iname "*.[chs]"  -type f -print > cscope.files

$: cscope -bq 

 

最好是cscope配合etags来使用, 可以查看比如__time_t这样定义:

$: cd $HOME

$: etags -R -f TAGS.std_gnu /usr/include/ /data/c_data/expert_in_c 

$: emacs 2>/dev/null &

emacs: M-x visit-tags-table RET ~/TAGS.std_gnu RET

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值