編號資訊文件的目的是什麼?
我注意到有些軟體帶有多個資訊文件。例如,
tar
在 Fedora 21 上帶有:
tar.info.gz
tar.info-1.gz
tar.info-2.gz
主文件的
tar-info-*
文件依賴項是某種類型的tar.info.gz
嗎?這個部門是每個發行版獨有的嗎?似乎在官方GNU tar 手冊頁上,Info tarball 包含一個文件,所以我不確定
-1
and-2
來自哪裡。
如前所述,最初這樣做是為了減小尺寸。它記錄在23.1.5 Tag Files and Split Files (GNU Texinfo 6.0) 中:
如果Texinfo文件超過 30,000 字節,則
texinfo-format-buffer
自動為其Info文件創建標籤表;makeinfo
總是創建一個標籤表。使用標籤表,Info可以比其他方式更快地跳轉到新節點。此外,如果Texinfo文件包含超過約 300,000 字節,
texinfo-format-buffer
則將makeinfo
大型Info文件拆分為較短的間接子文件,每個子文件約 300,000 字節。大文件被分割成更小的文件,這樣Emacs就不需要做一個大的緩衝區來保存整個大的Info文件;取而代之的是,Emacs為當時需要的小型拆分文件分配了足夠的記憶體。這樣,Emacs可以避免在執行Info時浪費記憶體. (在實施拆分之前,Info 文件始終保持簡短,並且包含文件被設計為一種從較小的 Info 文件中創建單個大型印刷手冊的方法。有關更多資訊,請參閱包含文件。包含文件仍然用於非常大型文件,例如The Emacs Lisp Reference Manual,其中每一章都是一個單獨的文件。)拆分功能非常古老。例如,當change-log 在1993 年
texinfo
首次提到它時,該功能可能在 1988 年 change-log 開始之前就已添加:Tue Feb 2 08:38:06 1993 Noah Friedman (friedman@prep.ai.mit.edu) * info/Makefile.in: Replace all "--nosplit" arguments to makeinfo with "--no-split"