GNU/Linux >> Linux の 問題 >  >> Linux

C ライブラリの man ページを書く必要はありますか?

ライブラリのマニュアル ページはセクション 3 に配置されます。

マニュアルページの良い例として、いくつかは groff の特定の詳細を使用して書かれていること、および/または実際には移植性がない特定のマクロを使用していることに注意してください。

一部のシステムは特別な機能を使用する (または使用しない) ため、man ページの移植性には常にいくつかの落とし穴があります。たとえば、 dialog の文書化では 、例を表示するためのさまざまなシステムの違いを覚えておく必要がありました (これは正当化されません)。

読むことから始める man man の関連セクション 標準マクロについて言及し、比較 FreeBSD と Linux の説明

ライブラリの 1 つのマニュアル ページを作成するか、関数 (または関数のグループ) ごとに個別のマニュアル ページを作成するかは、関数の説明がどれほど複雑になるかによって異なります。

  • ncurses には、数十のマニュアル ページにまたがる数百の関数があります。
  • dialog には、1 つのマニュアル ページに数十個の関数が含まれています。他の人はきっともっと多くの例を示すでしょう。

さらに読む:

  • man -- オンライン マニュアル ドキュメント ページを表示します (FreeBSD)
  • man-pages - Linux man ページを書くための規則
  • groff_mdoc -- groff の mdoc 実装のリファレンス
  • ハウツー:マンページをゼロから作成します。 (FreeBSD)
  • 「自転車置き場」とは?

ローンを使っています。マークダウンを書くだけで、それがマンページに変わります。 (やや機能が劣る) js もあります。 マークマンと呼ばれるそのクローン。

END_MAN を使用してスクリプトを文書化しています 同じ END_MAN を使用して、区切られたヒアドキュメントと私の C/C++ コード 区切られたヒアドキュメント /* */ 内を除く .どちらも sed で簡単に抽出でき、マンページにレンダリングできます。 (inotifywait と一緒に少しの UNIX シグナル ハッカーを使用すると、マンページ セクションをライブで抽出して表示し、ソースの更新時にマンページ ブラウザーをリロードすることができます。)

セクションに関しては、ユーザー レベルの C ライブラリの場合は 3 になります。セクション番号については (とりわけ) man(1) で読むことができます。

読みやすく、よく構造化されたマニュアル ページの例を見たい場合は、Plan9 の https://swtch.com/plan9port/unix/ ライブラリを参照してください。c そして UNIX そしてそのドキュメンテーションシステムは、おそらくこれらが機能することを目的としています。


他の回答を補足するために、man ページの記述を簡素化するために使用できる別のマークダウン言語は、reStructuredText と、python-docutils の一部である rst2man コマンドです。 パッケージ。

このマークダウン言語は、Python のドキュメントに採用されており、rst2man が reStructuredText から生成する古き良き troff man マクロよりも、学習、作成、保守がはるかに簡単です。


Linux
  1. マニュアルページを閲覧するための上位5つのLinuxmanコマンドオプション

  2. Bashビルトインコマンドの個々のマニュアルページを取得しますか?

  3. Scp用のシェルが必要ですか?

  1. `builtin`ビルトインが必要ですか?

  2. マニュアルページで大文字と小文字を区別しない検索?

  3. 書き込み–書き込み用のワードプロセッサ

  1. ipのifconfigを削除する必要がある理由

  2. SELinuxポリシードキュメントへのアクセス

  3. 利用可能なすべての man ページのリスト