【コメント】doxygen【コンソメ】

■ このスレッドは過去ログ倉庫に格納されています
2008/05/30(金) 19:50:27
無いので建てた

公式
http://www.doxygen.jp/
2009/06/03(水) 08:40:05
>>217
特定の形式にしないと、ドキュメントにしないコメントと区別できないですからね……

使えるコメント形式はマニュアルの「Documenting the code」にいろいろ例があります。
(日本語マニュアルは古くて少し情報が少ないです)

今までのに比較的近いのは
/*****************************************************//**
* Test.cpp
* 2009.09 by Tester
* テスト用のクラス
*********************************************************/
でしょうか。
2009/06/03(水) 10:41:33
>>217
最初と最後の //****** はそのままで、途中の行だけ先頭の//を3文字にすればいい
2009/06/03(水) 10:48:32
つまり、こうだな。
//********************************************************
/// \file Test.cpp
/// \date 2009.09
/// \author Tester
/// \brief テスト用のクラス
//********************************************************
2009/06/03(水) 16:06:28
>>217
俺も抵抗があったけど、
変えてみたら意外と平気だったよ。
要は見慣れるかどうか。
2009/06/03(水) 16:09:51
>>216
ALIASES
なんてものがあるのですね。
ありがとうございます、試してみます。
223デフォルトの名無しさん
垢版 |
2009/06/03(水) 22:23:44
>>218-221 thanks

ですが、ファイルの最初のコメントを
//********************************************************
/// \file Test.cpp
/// @file TEST.cpp
//********************************************************

と色々やってみたのですがうまくいきませんでした・・
ファイルの最初だと///ではドキュメント化されないのでしょうか
クラス宣言前や関数前では///で書いたコメントはちゃんとドキュメント
のコメントとなっておりました。

ちなみに、ファイル一覧からコードを見るとなぜか明朝体?で表示されてしまいます。
以下のドキュメントのようにゴシック表示をしたいのですが、Font設定はどのようにすればよいでしょうか?
http://www.ee.t-kougei.ac.jp/tuushin/lecture/technicalWriting/euclid/html/euclid_8c-source.html

224デフォルトの名無しさん
垢版 |
2009/06/03(水) 22:57:41
追加で質問失礼。

Player.hの内容↓

/** @brief クラスの簡易説明
 * このクラスの使用目的・使用方法など詳しい情報を書く。
 * @todo 必要であれば記述
 * @bug バグがあれば記述
*/

#if !defined (__PLAYER_H__)
#define __PLAYER_H__

class CPlayer
{
...
}


というプログラムだと、インクルードガードのほうに

マクロ定義
#define __PLAYER_INFO_BASE_H__
クラスの簡易説明  * このクラスの使用目的・使用方法など詳しい情報を書く。

というドキュメントが付いてしまうのですが、
インクルードガードは一番上に書かなければいけないのでしょうか?

できればファイルに関するコメントを一番上に記述したいのですが・・・
225デフォルトの名無しさん
垢版 |
2009/06/03(水) 23:10:52
さらに追加質問ですいませんorz


出力されたドキュメントは任意の名前のフォルダに作成されますが、
index.htmlが他の細かいファイルと一緒のフォルダにあるため探しづらいです。
そのため、index.htmlだけ残して他のファイルを別のフォルダに押し込む
というようなフォルダ構成を構築したいのですが、そういったことは可能でしょうか?
2009/06/03(水) 23:33:53
>>223
ファイルの最初のコメント:
ファイル名の大文字・小文字の問題かもしれません。
ファイル名無しで @file だけにしてみてはどうでしょうか。

フォント:
フォントはデフォルトのスタイルシートで、
font-family: Lucida Grande, Verdana, Geneva, Arial, sans-serif;
と設定されてるので、
特にカスタマイズしてなければゴシックで表示されるはずなんですが。

>>224
対象を指定しないドキュメントは、直後にあるものに関連づけられます。
ファイルに関するコメントにしたいなら、@file が必須です。
2009/06/04(木) 08:53:01
>>224
本題とは直接関係ないと思いますが、ドキュメントに「 * 」が入ってるのが気になりました。
コメント行頭の「 * 」のところ、全角スペース使ってませんか?
228デフォルトの名無しさん
垢版 |
2009/06/04(木) 23:00:02
>>226-227
thanks.

一度doxygenを全削除して再インストールしたら
なんとかファイル要約関連のコメントはでるようにできました。
229デフォルトの名無しさん
垢版 |
2009/06/05(金) 00:21:06
また質問なのですが、
以下のような複数行について同じコメントをつけたい場合は
何かうまい記述法はありますか?

例:

/// 3D座標を示す値.
int nX;
int nY;
int nZ;

このままですと、nXだけにコメントがついてしまうため、
3つの変数全てに同じコメントを出すようにしたいのですが・・・

int nX;///< 3D座標を示す値x.
int nY;///< 3D座標を示す値y.
int nZ;///< 3D座標を示す値z.

これだと冗長な感じでちょっと抵抗があります
2009/06/05(金) 02:50:49
っ nameタグ
2009/06/05(金) 09:01:35
>>229
普通は、一つのコメントで括られるような変数は構造体に入れるもんじゃね?
2009/06/05(金) 19:33:13
>>231
おお、良いこと言った!
2009/06/05(金) 22:02:00
>>231
座標とかだと、配列の方が扱いやすいかも
構造体の方が見やすいけどね
2009/06/06(土) 08:55:20
C++ code - 50 lines - codepad
ttp://codepad.org/imFgWQsK
これからdoxygenでhtmlドキュメントを生成させると、
メンバ一覧のページの上にある目次の部分は
すべてのメンバ一覧
Public メソッド
void foo (bool)
void foo (short)
void foo (int)
void foo (long)
void foo (double)
void bar (bool)
void bar (short)
void bar (int)
void bar (long)
void bar (double)
となります。このように並ぶと微妙に見づらいので
すべてのメンバ一覧
Public メソッド
foo系のメンバは
 void foo (bool)
 void foo (short)
 void foo (int)
 void foo (long)
 void foo (double)
bar系のメンバは
 void bar (bool)
 void bar (short)
 void bar (int)
 void bar (long)
 void bar (double)
の様にコメントをこの場所に入れたいしたいのですが、可能でしょうか?
2009/06/06(土) 09:13:44
>>234
マニュアルの「Grouping」(日本語版マニュアルだと「グループ化」)のページを見てください
2009/06/06(土) 09:55:14
>>235
それで出来るのですね。
ありがとうございます。見てきます。
2009/06/06(土) 11:53:22
doxygenで作ったthtmlドキュメントの
若干ながらフォントサイズが小さすぎると感じます。

このフォントサイズを大きくすることはできますか?
238234
垢版 |
2009/06/06(土) 20:44:39
C++ code - 17 lines - codepad
ttp://codepad.org/vf7DFqYq
とりあえずこの様にしてみました。
/** document former */
がメンバ関数全部について、
/** document latter */
がメンバ関数void func_1_InGroup1()だけにつくかと期待したのですが、
結果は
void Test::func_1_InGroup1に
document former document latter
と付いただけでした。
どこが誤っているでしょうか?
よろしくお願いいたします。
239234・238
垢版 |
2009/06/06(土) 20:56:51
C++ code - 26 lines - codepad
ttp://codepad.org/wOT4IAlv
とりあえずこれで行けそうです。
・・・法則性がわからない。
2009/06/06(土) 22:29:27
法則性はその>>238>>239の違いの@nameの有無の部分ですよ。

マニュアルより:

ブロックの開標識の前に、独立したコメント・ブロックを置くこともできます。
このブロックは、@name (または、\name) コマンドを含む必要があり、
グループのヘッダーを指定します。
そうしたければ、グループに関するより詳しい情報をコメント・ブロックに
含めることもできます。
241239
垢版 |
2009/06/06(土) 22:36:14
>>240
doxygen用語の理解が今ひとつ足りなかったようです。
親切にありがとうございました。
2009/06/07(日) 12:54:49
Use built-in class diagram generator
だと継承に関するクラス階層図がうまく表示されますが、
Use dot tool from the GraphViz package
だとうまく表示されません。

このようなHTMLになってしまいます。
ttp://loda.jp/uploader_nrnrnr/?id=4
(これには再現する簡単なソースとDoxyfile、出来上がったHTMLが含まれています。)

環境はWindows XP SP2で、
doxygenはdoxygen-1.5.9-setup.exeを使ってインストールしました。
GraphVizはgraphviz-2.22.2.msiを使ってインストールしました。

GraphVizの問題だとしたら若干スレ違いかもしれませんが、
よろしくお願いいたします。
243242
垢版 |
2009/06/07(日) 13:43:31
C++ code - 25 lines - codepad
サンプルソースが腐ってたので
ttp://codepad.org/AwsZMCHk
これでお願いします。
2009/06/07(日) 23:01:58
>>242-243
DOT_FONTSIZEが小さい(デフォルト値は10)のが気になりますが、
正直なところデフォルト設定と余りに違いすぎて、それだけなのかどうかは何とも。

もしこだわって作りこんだ設定でないのなら、一度デフォルト設定に戻して、
最低限必要なところだけ変えるようにしてみてはどうでしょう?

デフォルト設定にはメニューから[Settings]→[Reset to factory defaults]で戻せます。
2009/06/08(月) 00:35:20
>>242
どこを問題視したいのか判らんが、HAVE_DOTがNOだからクラス階層図が出ないのは当たり前なんだが。
つーか、>>244も含めて
Doxyfile位真面目に読んでくれ。
246242
垢版 |
2009/06/08(月) 06:55:17
>>244-245
ありがとうございます。
教えを頼りに読んできます。
247244
垢版 |
2009/06/08(月) 08:39:21
>>242, >>245
>>242のドキュメントではdotファイルが吐かれてるし、
クラス階層図はdotファイルの内容どおりに生成されてます。
文字が読めないのはフォントサイズが4のためです。
コラボレーション図はdotにノードがなぜか出力されてませんが、
画像ファイル自体は真っ白なのが存在していて、
dotファイルの内容どおりには生成されているといえます。

なので、これらはHAVE_DOT=YESの状態で生成されたはずです。
DoxyfileはHAVE_DOT=YESにする前に保存したものと思われます。
dotの中身が異常なので、ほかに問題があると思います。
2009/06/08(月) 15:59:54
Doxygenて
__declspec(dllexport) int WINAPI MyFunc(int arg);
とか、それを簡略化して
#define API(type) __declspec(dllexport) type WINAPI
とした場合に
API(int) MyFunc(int arg);
みたいな宣言もちゃんと処理してくれる?
249242
垢版 |
2009/06/08(月) 16:17:43
>>247
ありがとうございます。
全然こだわって作りこんだ設定ではありませんので、
デフォルトに戻すことに抵抗はありません。

いろいろ教えの通り試してみます!
250デフォルトの名無しさん
垢版 |
2009/06/08(月) 22:09:14
http://appleloader.bbsnow.net/pic_loader/nomal/html/1_11.html
Exportタブに何も表示されないのですがバグですか・・・?

ノートPCでは表示されました

両方 WinXP 32bit SP3 です
2009/06/08(月) 22:48:53
>>248
__declspec()は関数と誤認識されるので、
PREDEFINED で __declspec(x)= を定義するなどして、
プリプロセス時に取り除いてやる必要があります。
(マニュアルの「Preprocessing」に書かれてます)
2009/06/08(月) 23:24:43
>>250
eeepc + winxp でやってるけど、ウチも全く同じ現象になるよ。
253250
垢版 |
2009/06/09(火) 19:08:32
レスありがとう。

じゃあエクスポートタブの設定はできないのですかね・・・?

日本語マニュアルを作成したいので以下の設定をしたいのですが

設定する箇所は2箇所です。まずProject内にある「OUTPUT_LANGUAGE」をJapaneseにします。これで日本語マニュアルが作成されます。ただ、このままだと文字化けが起こります。

 続いて、Inputの中にあるINPUT_ENCODINGに「CP932」と文字を打ちます。CP932というのはMicrosoftなどが拡張したShift-JIS文字コードです。Visual Studioなどのソースコードはこの文字コードを指定するとDoxygenでうまく読み込んでくれます。

改善方法分かる人いたらアドバイスください よろしくお願いします
2009/06/09(火) 19:38:26
>>253
設定内容を保存したファイルはテキストなので、直接編集できますよ。
255250
垢版 |
2009/06/09(火) 19:54:02
>>254
お!
ありがとうございます
2009/06/09(火) 21:16:16
>>255
念のため。
PROJECT_NAME 等に日本語を使ってる場合、UTF-8で保存されてるので気を付けて。
2009/06/11(木) 21:35:53
doxygen20090611.zip - uploader_nrnrnr
ttp://loda.jp/uploader_nrnrnr/?id=5
このaaaaaa.hとDoxyfileからdoxygenでhtmlドキュメントを生成させると、
 aaaaaa.h
 ソースコードを見る。
 マクロ定義
 #define ABS(x)
 #define MAX(x, y)
 #define MIN(x, y)
 #define MYMACRO "表示されたくない。"
このように表示されるのですが、私は最後の
 #define MYMACRO "表示されたくない。"

 #define MYMACRO
の様にしたいと思っております。
また、各マクロの説明文にある
 値:〜〜
というのも非表示にしたいと思います。

どうすればよろしいでしょうか?
2009/06/11(木) 22:23:30
関数テンプレートなどの
テンプレート引数を出力する項目は作れませんか?
2009/06/12(金) 01:24:59
>>257
MAX_INITIALIZER_LINES を 0 にするのはどうでしょう?
変数の初期値なども全部表示されなくなりますが。
2009/06/12(金) 01:58:14
>>258
@tparamで出来るらしいです。
261258
垢版 |
2009/06/12(金) 08:02:39
>>260
ありがとうございます。
助かります。
262257
垢版 |
2009/06/12(金) 19:21:47
>>259
MAX_INITIALIZER_LINESを0にする方法でいけそうです。
ありがとうございます。
2009/06/12(金) 19:54:28
doxygenの公式サイト(英語版)
が見たいのだが、リンクが死んでいる気がする。

それとも単に落ちただけだろうか?
264263
垢版 |
2009/06/12(金) 23:59:05
単に落ちただけだったようだ。
勝手に騒いでスマソ。
2009/06/20(土) 18:37:54
保守
2009/06/20(土) 21:38:29
Windows XP SP2, doxygen 1.5.9です。
Sample.h
ttp://codepad.org/Fijir9gC
これでhtmlドキュメントを生成させますと、
クラス階層図(継承関係)
が表示されません。
class Sample は std::runtime_error をpublic継承しているので
この継承の様子をGraphVizでグラフ表示させたいと思っているのですが、
どうすればよろしいでしょうか?

ソースとDoxyfile、出来上がったHTMLは
ttp://loda.jp/uploader_nrnrnr/?id=7
です。
同じDoxyfileを使っても、関数の呼び出し関係は
うまくGraphVizでグラフ化されて表示されています。

よろしくお願いいたします。
2009/06/20(土) 22:08:18
>>266
HIDE_UNDOC_RELATIONS が YES だからじゃないかと思いますが、
NO にしてもライブラリからの継承まで図に含めてくれるかどうか。
INCLUDE_PATH にコンパイラのヘッダファイルのパスの設定もして試してみてください。
268266
垢版 |
2009/06/20(土) 23:31:56
>>267
HIDE_UNDOC_RELATIONS
をNOにしたところ、
> INCLUDE_PATH にコンパイラのヘッダファイルのパスの設定
これをしなくても希望通りになりました。

ttp://imagepot.net/view/124550817681.jpg

感謝感激です。
どうもありがとうございました。
2009/06/26(金) 21:24:59
保守
2009/07/02(木) 07:40:28
>>250
どうもパネル作成時のミス?のようです。
Exportタブの中身はWizardタブと同じように左右分割されているらしく、
「左側の何も無いパネル」「右側の設定パネル」という風になっています。
それで「左側の何も無いパネル」の幅が最大になっているため、
何も表示されていないように見えるようです。

マウスを右端に移動させるとカーソル形状が変化しますので、
そのまま左にドラッグすると設定内容のパネルが見えるようになりました。
271270
垢版 |
2009/07/03(金) 02:55:10
少し訂正
左右分割だけではなく左側が上下に分割された3ペイン方式でした。
「左側の何も無いパネル」のように見えるますが下のほうに移動してるだけでした。
270と同じように下から上にドラッグすると表示物が見えるようになります。
2009/08/08(土) 18:05:25
保守
2009/08/08(土) 18:32:18
Windows XP SP2, doxygen 1.5.9です。

ttp://loda.jp/uploader_nrnrnr/?id=9
このSample.hを同じくこのDoxyfileで
HTMLドキュメント化したのですが、
文字サイズが小さくて困っております。
DOT_FONTSIZE = 100
FORMULA_FONTSIZE = 100
の様にしてみても、フォントサイズが変わりません。

sakura-editor: クラス CDlgCancel
ttp://sakura-editor.sourceforge.net/doxygen/classCDlgCancel.html
ここにあるような
文字サイズにしたいのですが、どうすればよろしいでしょうか?
よろしくお願い申し上げます。


2009/08/08(土) 20:32:24
>>273
ドキュメント見てみたけど普通の文字サイズだと思うけど。
そういえば最近のバージョンはちょっと前のより文字サイズ小さいかも。

DOT_FONTSIZE はグラフの文字サイズ、FORMULA_FONTSIZE は式の文字サイズです。

文字サイズを変えるにはスタイルシートをカスタマイズすることになると思う。
やったことないけど、マニュアルによると、

doxygen -w html header.html footer.html stylesheet.css
でデフォルトのファイルを出力して、それを書き換えて

Doxyfile の HTML_STYLESHEET でそのファイルを指定するらしいです。
275273
垢版 |
2009/08/08(土) 21:27:14
>>274
その方法で解決できました。
文字サイズは見る人によって好みがあると思っていましたので、
stylesheet.cssのフォントサイズ指定の部分を削除しました。
これにより人によって好みの文字サイズにブラウザ側で変更できるようになりました。
(前はブラウザ側でも文字サイズの変更が(通常操作の範囲では)できませんでした。)

どうもありがとうございました。
2009/08/12(水) 12:31:12
Doxygen
で表を表示する方法を教えてください。

ttp://www.doxygen.jp/htmlcmds.html
ここの<table>タグ以外にはありますか?
2009/08/12(水) 12:45:02
Doxygenはドキュメント生成ツールであってドキュメント記述言語ではないから
適宜表は表示されるよ。例えば関数一覧とかファイル一覧とか。

任意の表を記述したいと言うことなら話は別で。
元々html自体に表を記述するタグはtable以外にはないに等しいからねぇ。
横方向に高々2カラムしかないなら<ul>などで代用できなくもないけれど。
278276
垢版 |
2009/08/12(水) 13:14:58
>>277
ありがとうございます。
良さそうなのでもうすこしマニュアルを読み込んできます。
2009/08/14(金) 02:53:06
>>276-278
私も任意の表をお手軽に作る方法はないかなと思ってました。

今ふと思いついたんですが、関連のタグの組み合わせをALIASESで簡略化したらちょっとはマシかも。
2009/08/21(金) 00:30:09
保守
281デフォルトの名無しさん
垢版 |
2009/08/22(土) 01:18:19
Doxygen 1.6.0 age
2009/08/22(土) 16:54:46
Doxygen 1.6.0で何か変わったことある?
設定とかは変わってないよね?
また設定しなおしとか嫌よ。
2009/08/23(日) 04:04:54
>>282
二重引用符で囲っていた中で @a とか使ってたのが利かなくなってましたorz
まんま " @a hogehoge "な具合に表示されてます。

バグなのか仕様変更なのかは知りません。
284282
垢版 |
2009/08/23(日) 11:47:44
>>283
ありがとうございます。
私は@ではなく\で書いているので問題ないですかね。
285283
垢版 |
2009/08/23(日) 19:42:34
>>284
それは試してないのでわかりません。

以前のバージョンから、「@」は利かなくて「\」なら利く局面もありましたから、
(例えば @dot 内の URL パラメータに \ref を使うとか)
もしかすると問題ないかもしれません。

なお、「"」の代わりに「"」を使えば、「@a」も機能しました。
ソースコメントでの視認性を考えるとやりたくないですが。
286283
垢版 |
2009/08/23(日) 19:45:40
>>285
あ、「”」の代わりに「&quot;」です。
(今度はちゃんと表示されるかな)
287282
垢版 |
2009/08/23(日) 20:21:51
>>285-286
なるほど。
詳細 誠にありがとうございます。

今のdoxygenで問題がないので、
念のためdoxygenバージョンアップするのは
控えておこうかと思います。
288283
垢版 |
2009/08/24(月) 02:03:19
補足です。

>>283 のような状況になっているということはつまり、
二重引用符で囲まれている部分が区別されるようになったということで、
いままで単純に1文字として「"」を使ってた部分や、
うっかり片方の引用符を忘れていた部分でエラーが出ます。
289どxyげん
垢版 |
2009/08/24(月) 10:56:52
doxygenで生成される、
左側の目次(ツリービュー)を自分が好きに
並べる方法している方いらっしゃいませんか?

誰か教えてください。
290デフォルトの名無しさん
垢版 |
2009/08/25(火) 22:33:39
Doxygen 1.6.1 age
2009/08/29(土) 14:36:45
Windows XP SP2, doxygen 1.6.1です。
ttp://loda.jp/uploader_nrnrnr/?id=10

このhoge.hを同じくこのDoxyfileで
HTMLドキュメント化したのですが、
クラスの構成のところで説明の最初の文字が
 http://imagepot.net/view/125152409985.gif
の様に大文字になってしまいます。

自動的に大文字にしてくれるこの仕様を回避したいのですが、
どうすればよろしいでしょうか?
よろしくお願い申し上げます。

なお、doxygen 1.5.9でも同様の現象でした。
2009/09/01(火) 09:31:19
>>291
lodaの方にコメントついてる。
293291
垢版 |
2009/09/01(火) 18:05:12
2chの方ばかり見ておりました。
ありがとうございます。
294291
垢版 |
2009/09/01(火) 20:42:47
と思いましたら解決しませんでした。
\ mynamesp::hogeクラスです。とすると、不要な半角の\が入ってしまいます。
! mynamesp::hogeクラスです。とすると、不要な半角の!が入ってしまいます。
 mynamesp::hogeクラスです。とすると、doxygenの抱えるバグ(*)により、mynamesphogeとなってしまいます。
(*)全角文字に半角英数が続き、スコープ解決演算子である::がその後ろに来たとき、::が無視されるというバグです。
どうしたらいいでしょうか?

http://loda.jp/uploader_nrnrnr/?id=10&dsq=15701579#comment-15701579
で質問させていただいている者です。
2009/09/02(水) 01:21:01
>>294
lodaのコメントは、行頭に「\」や「!」を入れるのが
大文字化されないための書き方という意味じゃなくて、
文の先頭にクラス名がこない書き方を工夫すればという意味だと思う。

# 一覧表以外のところでは大文字化してないから、個人的にはバグじゃないかと思うけど。

「::」が消える件は >>211-213 を参照。
296291
垢版 |
2009/09/02(水) 06:54:56
>>295
私もバグではなく仕様だとは思っています。

::が無視されるのはバグですが。
最速で>>187さんが触れてますね。

どうもありがとうございました。
2009/09/04(金) 08:46:55
プログラミング言語によっては全角文字も識別子に使えることを考えると、
文中に空白で区切られずに書かれてる識別子を正しく認識して欲しいというのは、
日本語の構文を理解する必要のある無茶な要求じゃないかな。
2009/09/04(金) 12:51:33
そうか?
別に煽りたい訳じゃ無いけど、消えてしまうのは文字コードの問題だと
考えるのが普通では?
だって構文解析いらないでしょ。
299297
垢版 |
2009/09/05(土) 01:43:17
>>298
消えてしまうのはバグだと思うけど、
クラスメンバを認識して自動的にリンクを張る機能があるんだから、
その過程で「::」を特別扱いしてると思うのよ。

ていうかごめん、言葉が足りなかったわ。
言いたかったのは、バグが起きにくい書き方をするように
歩み寄ってもいいんじゃないかということなんで。
2009/09/10(木) 14:47:25
1.6.1を入れたのだけど、doxywizardで項目名が赤くなるのはどういう意味?
2009/09/10(木) 19:41:01
>>300
1.6.1前からでも赤くなかった?
おそらくデフォルト値から変更された物が赤いんじゃないかと思われる。
302300
垢版 |
2009/09/10(木) 20:03:13
>>301
どうもありがとう。確かに入力すると赤くなり、消すと黒くなるから変更されたところだ。
前は1.5.6を使っていただけど赤くはならなかったので、最初はエラーかと思った。
2009/09/14(月) 00:04:39
Javaで使っているのですが、クラス階層図や関数の呼び出し図などで、
クラス名がパッケージ名を含む長い名前になるのを避ける方法はあるでしょうか?
例えば、以下のサンプルですと、図からorg.byteml.の部分を取り除きたいです。
http://byteml.sourceforge.net/html/classorg_1_1byteml_1_1serialize_1_1ByteMLBuilder.html
304デフォルトの名無しさん
垢版 |
2009/09/16(水) 00:28:43
doxygenで、C++でhtmlドキュメントを作りたい時、
 ここからここまでの範囲のソースはドキュメントしないでね
あるいは
 このクラスはドキュメント化しないでね(ドキュメントに載せないでね)
といった指示はできるのでしょうか?

よろしくお願いいたします。
2009/09/16(水) 03:34:57
>>304
素直な方法は、ドキュメント化したい部分に一通りdoxygen用のコメントをつけて、
EXTRACT_ALL は NO にして、
HIDE_UNDOC_MEMBERS と HIDE_UNDOC_CLASSES を YES にすることでしょうか。

そうすれば、コメントの付いている部分だけがドキュメント化されます。
306デフォルトの名無しさん
垢版 |
2009/09/16(水) 07:05:22
>>305
ありがとうございます。
私は
> EXTRACT_ALL は NO にして、
> HIDE_UNDOC_MEMBERS を YES に
まではしているのですが、
HIDE_UNDOC_CLASSES
はNOにしています。
というのも、YESにするとドキュメント化したいクラスが
標準ライブラリや他人のライブラリ(doxygenコメント化されていない)
の中のあるクラスを継承しているクラスであった場合、
継承関係がグラフ化されなくなってしまうからです。

かといってこのままでは実装用のクラスまでも
HTMLドキュメントに出て来てしまうのが
ちょっと気持ち悪いので、悩んでおります。
307デフォルトの名無しさん
垢版 |
2009/09/17(木) 01:10:31
>>306

doxyfile で
PREDEFINED = NO_DOXYGEN
としておいて、ヘッダの方で

#ifndef NO_DOXYGEN
実装用クラス
#endif

とか私はやってます。
308306
垢版 |
2009/09/17(木) 06:59:25
>>307
ありがとうございます。
そんな方法があったんですね。
309307
垢版 |
2009/09/17(木) 16:45:15
>>308

後で見返してよく考えたら「NO_DOXYGEN」だと意味逆でしたね。
まあそれはともかく、この方法を使うと、
たとえば利用者マニュアル用 doxyfile と
内部開発者用 doxyfile とかを使い分けて
(それぞれ別々の PREDEFINED を設定しておく)、
コード内では #ifndef を使ってマニュアルに出したいものを制御
なんてこともできます。
310306
垢版 |
2009/09/17(木) 21:03:18
>>309
なるほど、深いですね。
面白そうです。
ありがとうございます。
311306
垢版 |
2009/09/18(金) 00:20:10
#ifndef DOXYGEN
実装用クラス
#endif
としてみましたが、
クラス一覧に相変わらず実装用クラスが出力されます。

 doxygen 1.6.1, Windows XP SP2
Doxyfileは
 ttp://loda.jp/uploader_nrnrnr/?id=11
です。

恐れ入りますが、>>307さんのdoxygenのバージョンはいくらでしょうか?
312306
垢版 |
2009/09/18(金) 00:20:56
ちなみにちゃんと
#ifndef DOXYGEN
になっています。
#ifdef DOXYGEN
だったりはしません。
よろしくお願いいたします。
313307
垢版 |
2009/09/18(金) 01:26:34
>>311-312

doxyfile 拝見しました。
1312 行目の EXPAND_AS_DEFINED の方にマクロ名が記述されて
いるようなんですが、これを 1305 行目の PREDEFINED の方に
記述して試してもらえますか?

ちなみに、私が使用している環境は 1.6.1 で
OS は主に Mac OS X と FreeBSD です。
(一昨日くらいまで 1.5.9 使ってましたけど。)
あ、でも doxyfile は 1.5.8 の時につくったものでした。
2009/09/18(金) 09:44:38
>>312
お前、馬鹿だろw
>307を読めば判ることで何とち狂ってるんだか。
315306
垢版 |
2009/09/18(金) 11:12:07
>>313
申し訳ございません。
ご指摘の通り大変みっともない間違いをしでかしており、
恥ずかしいかぎりです。

うまく動きました。
ありがとうございました。
2009/09/18(金) 12:01:39
ttp://codepad.org/ACEXhsw8
これをdoxygenに食わせると、
クラス->構成のところで
 exception
 NS::hoge
となります。
 画像:ttp://imagepot.net/image/125324281122.jpg
つまり何故かstd::が出力されません。
(解説本文にはstd::が出力されるのですが。)

これを
 std::exception
 NS::hoge
と表示させたいのですが、何か方法はありますでしょうか?

よろしくお願いいたします。
317307
垢版 |
2009/09/18(金) 12:08:01
>>314

まあまあ。
マニュアル読むと、PREDEFINED と EXPAND_AS_DEFINED の説明は
確かにかなり紛らわしいのよ。試行錯誤の過程で勘違いしても仕方がない。
私もかつては戸惑った口。

>>315

お役に立てて何よりです。
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況