「ctags -e」としても知られる「ExuberantCtags」を使用しています。単に「etags」としても知られています。
etags コマンドによって生成される TAGS ファイル形式を理解しようとしています。特に、TAGS ファイルの 2 行目を理解したいと考えています。
ウィキペディアによると、2行目は次のように記述されています。
{src_file},{size_of_tag_definition_data_in_bytes}
実際には、「foo.c」の TAGS ファイル line:2 は次のようになります。
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} のオフセットは何ですか?
ケンを助けてくれてありがとう!