我正在使用“ExuberantCtags”,也称为“ctags -e”,也称为“etags”
我试图了解由 etags 命令生成的 TAGS 文件格式,特别是我想了解 TAGS 文件的第 2 行。
维基百科说第 2 行是这样描述的:
{src_file},{size_of_tag_definition_data_in_bytes}
实际上,尽管 TAGS 文件 line:2 for "foo.c" 看起来像这样
foo.c,1683
我的困惑是它究竟是如何找到这个数字的:1683
我知道这是“tag_definition”的大小,所以我想知道什么是“tag_definition”?
我曾尝试查看ctags 源代码,但也许比我更擅长 C 的人会更成功地弄清楚这一点。
谢谢!
编辑#2:
^L^J
hello.c,79^J
float foo (float x) {^?foo^A3,20^J
float bar () {^?bar^A7,59^J
int main() {^?main^A11,91^J
好吧,所以如果我理解正确的话,“79”是指 TAGS 文件中从 79 到并包括“91^J”的字节数。
完全有道理。
现在这个例子维基百科中的数字 20、59、91 指的是 {byte_offset}
{byte_offset} 偏移量是多少?
感谢所有的帮助肯!