TOP カテ一覧 スレ一覧 100〜終まで 2ch元 削除依頼
datファイルを共有するP2Pソフト o2on 17dat
Java低速GUI Swing 10
☆★Java質問・相談スレッド181★★
パチンコ、パチスロの基盤のプログラム 2
VRプログラム雑談【Unity/UnrealEngine】【HTC Vive/Oculus Rift/その他VR】
D言語 Part34
WindowsDDK各種についてのスレ
メガデモを語る fr-08
●●●●TCL/TKなら俺に聞け 4●●●●
Excel VBA 質問スレ Part61

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


1 :2008/05/30 〜 最終レス :2019/02/07
無いので建てた
公式
http://www.doxygen.jp/

2 :
このスレはアイちゃんがうんたらかんたら

3 :
標準のスタイルシートも見飽きてきたんだけどなんか格好いいdoxygen用のスタイルシート
配布してるサイトってないの?

4 :
          ,r-、 l l l /:/
         ,.ノ-'、,!l ,! ,!:/"
  ..-''''~`'ーy'⌒`;'"ヾ,.`,r''"`:,
  '"`'ー-,,r____i';';';';';';';';';'; -j. ゙;
  --....i',.tノ;';';';':'..:::::..':';';';'(.λ
  -_.=/t-';';';';'..::::::. .:::::..';';';  ,!-ー''
  " _!_..>;';';';';'; ::::::::: ;';';';';r'〈ー--
  ,r'",>,i、'r;';';';';';';';';';';';';';' ,!イヽt-''
   ,r'" `t-,ッヽ、;';';';'.'.' i" ヽ ヽ,
  /    `''j   ーπ-'゙`'ー'r'~
        `ー、,__/ ':,

5 :
>>3
そういえば見ないな
Java風とかw

6 :
このスレは大器晩成型

7 :
これだけ使われていてなんで今まで無かったんだろう。

8 :
>>7
>>2-6見てわかんないの?

9 :
Doxygenってやたらデグレ多くない?
やっとバグが直ったと思ったら今まで動いていた部分がおかしくなったり。
いつまでたっても満足のいく出力ができない。

10 :
最新版はツリーが文字化けしたりしないか?

11 :
output japaneseでやってるけど、左のツリーが化けてる
検証はしてない

12 :
おまいら Javadoc 風と Qt 風のどっちでコメント書いてる?

13 :
///

14 :
ようやくスレが出来たから聞ける
「doxygen」って何て読むの?読んでる?

15 :
>>14
doxygenの公式ページのFAQに書いてある

16 :
うは。こんな過疎スレで即レスサンキュー
でも、英語読めませーん
---------------------------------
doxygenはどのように名前を持っていましたか?
Doxygenは単語ドキュメンテーションとジェネレータで遊ぶのから名前を得ました。
ドキュメンテーション - 医者 - dox
発電機 - 情報を得てください。
当時、私が法とyaccを調べていたので、事態は、「y」で、発音可能につけ加えて、なりました(適切な宣告はDocs-ee情報を得ています、長い「e」があるそう)。(そこでは、多くのものが"yy"から始まります)。
---------------------------------
翻訳したけど意味わかりませーん
「ドキシゲン」でいいのかな?

17 :
ドキシジェンだろ
オキシジェンデストロイヤーから連想して

18 :
documentation-generator → docs-ee-gen だから
カタカナ表記ならドキシジェンかドクシジェンじゃないかな
俺もドキシジェンって言ってる

19 :
どくしげんって脳内発音してた

20 :
げんしけん

21 :
やっぱ読み方わからない奴結構いるんだな

22 :
d + oxygen に見えるからドキシジェンだろ。

23 :
ドキシゲンって読んでたお
HTMLでは、文字化けしないのに
chm作ると、左側の一覧文字化けする
どうしたらいいんだ

24 :
Goo辞書でoxygenの発音
http://dictionary.goo.ne.jp/voice/o/00060383.wav
これにdをつけて読むだろ条項

25 :
doxygenうまいこと使ってる
日本語の人って
Seleneの人以外に居る?
http://selene-lue.halfmoon.jp/

26 :
>>25
「うまいこと」の意味がわからんな。
何か変わった使い方してるの?

27 :
>>25
日本語の使い方が(ry

28 :
チョンでごめんなさい
>うまいこと
俺と比べて、丁寧に利用している意味。
というか、普通に活用してるって意味。

29 :
>>28
じゃぁ、居るよ、ってことで。

30 :
>>29
R

31 :
まだ30レスにしか達していないのかよ!!

32 :
>>7
今まで単独スレが無かっただけで、話すら無かったわけではないぞ。
良いドキュメント・マニュアル・仕様書を書くスレ
http://pc11.2ch.sc/test/read.cgi/tech/1065364445/l50

33 :
Doxygen が吐き出す XML のフォーマットってどっかに仕様書ある?

34 :
XMLなら名前空間のところにURLがあるんじゃないの?

35 :
名前空間のURLのところにスキーマがあるとは限らない

36 :
スキーマって意味まで定義しているんだったっけ。

37 :
隙間って何ですか

38 :
C 言語のソースから HTML 文書を生成するときにモジュールのページに
1つの関数に対して func() と Struct::func() のような2つの名前が表示
されてしまうのですが func() だけにできないでしょうか?

39 :
>>38
OPTIMIZE_OUTPUT_FOR_C はどうしてる?

40 :
もちろん YES です。

41 :
doxygenのlicenseの以下の文章の意味がよく分かりません。
Documents produced by doxygen are derivative works derived from the input used in their production; they are not affected by this license.

42 :
>>41
doxygen で生成した文書は生成に使われた入力の派生物、つまり、この( doxygen の)ライセンスに影響されない。

43 :
>>42
どうもありがとうございます。

44 :
C++ のクラスの中の using 宣言は文書化されないのでしょうか?

45 :
インハウスのCライブラリにコメントつけてDoxygenしたら、
100ページ超のrefman.pdfが出来上がってたまげた。
調子に乗ってデベロッパーズマニュアルまでDoxygenで書いてる。
細かいところでアレな事はあるけど、まだ後悔はしていない。
リファレンスマニュアルやサンプル実装と相互参照できていい感じ。
こういうのは、Docbookとかだとめんどくさくて。

46 :
グラフ中のフォントサイズが変更できないんですが、cssを直接弄るしかないんでしょうか

47 :
doxygen使えるな

48 :
VBのコードvbfilter.pyでをdoxygenで出力するとき、一部の宣言の説明が出力されません。
下の例だと、「関数の説明1」が出力されません。
どなたかVBでdoxygenしてる人助言下さい。お願いします。
'*
'*@class cTest
'*@brief テストクラス
'*@author me
'*@version 1.0
'*
'*@fn Function fncTest(obj as Variant)
'*関数の説明1
Public Function fncTest(obj as Variant) As Variant
fncTest = Nullpo
End Function
'*@fn Function fncTest2(obj as Variant)
'*関数の説明2
Public Function fncTest2(obj as Variant) As Variant
fncTest2 = obj.Nullpo
End Function

49 :
>>48
vbfilter.pyの出力を晒してみそ

50 :
>>48
vbfilter.py は、空行を捨ててしまうんですが、
cTest のドキュメントブロックと fncTest のドキュメントブロックがくっついててもいいんでしたっけ?
私も自信ないので…
自分で使う分は空行を通すようにしたりとか、色々と手を加えて使ってます。
なお、 vbfilter.py の説明に、クラスの説明用のコメントは「'*」じゃなくて「'!」で始めるとあります。
それと、doxygen のマニュアルに書いてますが、説明する対象の直前に置くなら、 @fn コマンドはいりませんよ。

51 :
>>48
もうひとつ思い出した。
vbfilter.py は分割行には対応してないので、
実際の fncTest の1行目の宣言が複数の行に分割されてたら認識してくれません。

52 :
>>50
ありがとうございます!
おかげで正常に出力できました。
ちなみに、関数の前に@fnをつけないとやはり出力されませんでした。
仕方なくつけることにします。
'*@class cTest
'!@brief テストクラス
'!@author me
'!@version 1.0
'*@fn fncTest(obj as Variant)
'*@brief 関数の説明1
Public Function fncTest(obj as Variant) As Variant
fncTest = Nullpo
End Function
'*@fn fncTest2(obj as Variant)
'*@brief 関数の説明2
Public Function fncTest2(obj as Variant) As Variant
fncTest2 = obj.Nullpo
End Function

53 :
クラス名は、ファイル名やフォーム名から vbfilter.py が勝手に付けるので、
@class コマンドもいりませんよ。
@fn コマンドをつけないと出力されないのは、
1行目の @class コマンドの行頭が「'*」になっているために、
fncTest のドキュメントブロックとくっついてしまって
おかしな事になっているのではないでしょうか。
「'*」で始まる行と「'!」で始まる行は違うタイミングで処理されます。
最初に「'!」で始まる行が検出されて、クラス用のドキュメントブロックが出力され、
対応するc++形式のクラス定義が開始されます。
次にファイルの先頭から1行ずつパターンマッチングされて、
関数の1行目や変数定義や「'*」で始まるコメントがc++の書式に変換されます。
この段階では「'!」で始まる行は飛ばされます。
最後に「}」が出力されて、最初のクラス定義が閉じられます。
なお、関数の中身は全部捨てられてます。
中身の変換の機能追加も一時考えたんですが、挫折しました……。

54 :
ツリー部分の日本語が文字化けしてしまうんですが、どうやったら解決できるでしょう?
今のところ手動で変更してますが、Doxygenの設定でどうにかしたいです。

55 :
doxygenのバージョンと動かしているOS、食わせているファイルのエンコードとDoxyfileの設定などの情報をどうぞ。
私のところでは文字化けしていないので。
# 尤も、日本語のファイル名なんて使ってないからファイル名が化けない保証はないが。

56 :
>>54
バージョン1.5.6 なら、Doxygen自体のバグっぽいです。
公式のバグレポートには、ポーランドの人からも
ポーランド語特有の文字が化けると報告されてます。
1.5.5と1.5.6でツリービューの処理が変わってるので、
そこでエンコーディングの処理をミスしたまま、
作者様はラテン1な国の人なので気付いてないってとこではないかと。

57 :
>>54
1.5.5を使う

58 :
お、私が使っているのはCygwinのインストーラで入れた1.5.5だ。

59 :
>>56
thx! (54じゃないけど)

60 :
ありがとうございます!バージョンの違いってのは気づきませんでした・・・・
これでキー一つでビルド&ビルド後処理ができるようになりました。

61 :
今までdoxygenの事を全く考えずにC++で開発していたんですが、
突然思い立ってdoxygenで出力することにしました。
当然、対応形式のコメントでないので一切出力されません。
一から書き直そうと思うんですが、せめてソースを静的に解析して
関数やファイルの頭に定型のテンプレートを追記してくれるようなツールがあればと
探してるんですが、何かないですかね?

62 :
>>61
そんなことしなくても、コメントの付いてない関数も含めて無理矢理出力させるオプションがあったはず。
DoxyfileのEXTRACT_ALLの項目をNOからYESに変えてみたら?

63 :
はい。その設定で関数は出るんですが、クラスとメンバが
何をしているかの簡単な説明も表示したいと思っています。
既に大量のソースが存在する為、少しでも手間をかけずに実現したいと試行錯誤中です。
自分の様にプロジェクトの途中からdoxygenの使用を考える人間が、
どのようにこの問題を解決しているのか知りたいところです。

64 :
努力と根性じゃね?

65 :
>>63
とりあえず、説明文を付けるのは名前だけで中身を判断できないようなクラスやメンバだけに限定しようぜ。

66 :
>>64 >>65
先ほどgccxmlを使用して自宅の環境で関数の位置と引数の情報を取得することができました。
ここからコメントを挿入していけばよさそうです。
お二人はdoxygen以外に勉強しなきゃいけないことがあるように思いますよ。
本当にありがとうございました。

67 :
>>66
四行目が蛇足すぐるwww
でもまあ、健闘を祈る。
あと、無理するなよ。形だけのドキュメント作業なら特に。

68 :
>>67
大丈夫ですよ、あなたみたいにひ弱じゃありませんから。

69 :
名無しに戻ろうと思ったのですが偽者が湧いたので。
>>66は私本人ですが、>>68はどこぞの馬の骨です。
>>67
ありがとうございます。
"努力と根性"という言葉に何故かカチンときてしまい棘のある文章になってしまいました。
プログラマやその上司が気軽に使っていい言葉ではないと考えます。
たかが2chの戯言なのに、と自分でも驚いていますが。
ドキュメントはネット上で一般公開予定なので、なるべく解りやすいものを心がけます。
これ以降、私が>>61で書き込むことはありません。
書き込みがあったとしたら、それは私以外の誰かです。

70 :
いいえ、>69こそがどこぞの馬の骨です。
そもそも、まともな神経をしていたらレスをつけてくれた人に馬の骨なんて使うわけないじゃないですか。

71 :
ワロタw

72 :
>>61もその程度で躓くレベルでしかもきもいときた

73 :
word出力したら途中までしかクラスが出てこないのは何故?

74 :
>>73
htmlでも出ない?
なんか変な記述があるとそれ以降が出ないことがあった。なんだかは忘れた。

75 :
>>74
htmlだと全部出てるだけど、途切れてる部分見直してみる
ありがと

76 :
>>74
確認してみたけど、特に変な記述は見当たらなかった
でも、たまに出力先のwordでカタカナ部分が文字化けしているとこがあった
OUTPUT_LANGUAGEがJapaneseだと全く表示されず、Japanese-enだと途中まで表示されて
今Englishに変えたら文字化けだらけだけど全部出てきた
INPUTもOUTPUTもcp932でしてるんだけど、どうすりゃ文字化けせずに日本語だせるかな…

77 :
追加報告です。
doxygenのVer1.54使っていましたが、1.47でword出力すると問題なくできました
ご迷惑おかけしました

78 :
doxyはバージョンあげると劣化することもあるからなあ
最新版のツリー表示の日本語化け直らないかなあ

79 :
1.5.7 age

80 :
v1.5.7.1 age

81 :
>>78
1.5.6でchm形式でインデックスのエンコーディングを選べるようになって文字化けが解消されたから、それで我慢すれ

82 :
C言語の構造体で、gccのattributeがメンバ「関数」扱いされてしまう
これどうにかならないかな?
OPTIMIZE_OUTPUT_FOR_CはYESになってる
struct Foo
{
    int Bar __attribute__((aligned(32)));

83 :
>>82
Cにない構文は、INPUT_FILTERにsedかなにかのスクリプトを指定して事前に取り除くしか。

84 :
>>82 http://www.google.co.jp/search?q=doxygen+%5f%5fattribute%5f%5f

85 :
>83-84
ありがとう、ただそれだとattributeが消えちゃうよね
なんとか残したまま正しく動作させたいんですよ

86 :
1.5.x で enum EnumName に対して @relatesalso StructName を書くと StructName のページに
EnumName が出るようになるのですが、enum のメンバーのリストが表示されなってしまいました。
1.4.x ではできていた記憶があるのですが、1.5.x で正常にする方法はあるでしょうか?
OPTIMIZE_OUTPUT_FOR_C は YES です。

87 :
>>85 情報後出しキター

88 :
>>85
あんたの言う正しい動作って何なの?

89 :
正しく=attributeを残したまま、メンバ変数はメンバ変数として認識だろjk

90 :
正しくって……
そんな拡張に一一対応しろってのか?
ソースあるんだろうから自分でやれよと思うのだが。

91 :
いちいちソース書き換えとかコスト見合わないでしょ
だからそれ以外でなんとかする方法を探してるんじゃないか?
まあattributeは確かに独自拡張だが、gccだし割とよく使われてるんで対応してても良いと思う

92 :
汎用的に
構文解析時だけ指定キーワードを無視するオプションがあればいい
つか、ないのかな?

93 :
>>91
あなた流に言うと、コストに見合わないので対応しません

94 :
作者かよww

95 :
そもそもC言語にメンバ関数は無いんだからdoxygenのバグとも言えるだろ
想定外の構文には警告なりエラーなり出して欲しいよな

96 :
例えば@paramとかって変えられないの?

97 :
mac osx 10.5.5
doxygen 1.5.7.1
で実行しようとすると、Failed to run doxygen と言われて一切実行できません。
対処法知っている方、教えて下さい。

98 :
クラス関連図って作れますか?
1クラスの構造を図にはできるみたいですが・・・
C++です。

99 :
graphvizがあればできるよ。

100 :
@dateの後ろに付ける日付をsubversionが自動更新してくれるように
$Date$にしたら、出来たhtmlで日付の見出しが2重になってました。
もしかしてバージョン管理システムのキーワードをdoxygenが認識して
適当に見出し付きで整形してくれるんでしょうか。
マニュアルにそれらしい説明を見た覚え無いんですが。

101 :
公式とかで、きちんとした例が*.hしかないと思うのは気のせい?

102 :
ちょっとメモ。
doxygenで出力したRTFがどうも文字化けするので調べてみたら、\\'を\\\'に変換することで解消することが判った。
要は\を表すのにそれ自身をエスケープして\\とする必要があると言うことなのだろうか。もうちょい調べる必要はありそう。

103 :
日本語がうまく通らない原因ってどこにあるの?

104 :
>>100
doxygenは$date$を認識するみたいだね。だから@dateは書かなくていい

105 :
Doxygen 1.5.8 age

106 :
アップデートコネーから自分で作るか…

107 :
>>101
ヘッダーに書けば十分だからじゃないかな。
でも、詳細をヘッダーに長々と書いてヘッダーが読みにくくなりそうなときは、詳細だけcppに分けて書くことはあるよ。それでもdoxygenはちゃんとまとめてくれる

108 :
>>107 thx
十分かとも思えてきた。
概要かけばいいんだもんな。
漏れは最近doxygen向けのコメント付けはじめたからもうちょい使って慣れてみるわ

109 :
>>103
Shift-JISコードの2バイト目に\を割り当てたマイクロソフトに原因がある。

110 :
更に追加。他にも、エスケープすべき文字をエスケープしていない箇所を発見。
xyzzyの場合の正規表現置換でこれを行なうとかなり改善する。
(query-replace-regexp "\\(\\\\'..\\)\\([{}][^
][^t]\\)" "\\1\\\\\\2")
# 場当たり的だなぁ……

111 :
あー、済まない、補足。
文字列中に出てくる「{」も「}」も、どちらもエスケープしなければならないと言うのが>110の対応。
但し、文字列中かどうかの判断を厳密に行ないたくないので手元のファイルで場当たり的に対応してある。
誰か、ソース拾ってきて対策してくれる奇特な人はいないもんかのぉ。

112 :
>>111
文字列として表示されるべき「{」や「}」がエスケープされてないってこと?
いつもHTMLしか出してなかったんだけど、試しに手元にあるソースでRTF出してみたら、
こちらではリストをネストさせてるところで、上の階層の行末の書式文字の「{」が
普通の文字として扱われたりして、「{」と「}」の対応が崩れてエラーになってるっぽいです。
(いや、ネストされて表示はされてるから、書式文字以外に余分に「{」が付いてる?)
行末が特定の文字(「定」とか「得」とか)の場合になるみたいだけど、
条件がよくわかりません…

113 :
>>112
2バイト文字の2バイト目に{}\のいずれかが来るケースで、エスケープされないようです。
# 「定」「得」どちらも該当しないようですが……
処が文字列を明示的に区切らないのがRTFの仕様らしくて、キーワードとしての{や}と区別が難しいのですよ。
実は>102の対策だけだと{}の対応が崩れてしまってrtfの一部だけしか読み込まれないことが判って気づいたんですが。
# 客先に実態の1/3程度しか分量がない資料を提出しちゃったのは内緒w
念のため確認したら、手元のDoxygenはCygwin同梱の1.5.5でした。
# さて、rtfを変換するツールを真面目に作るのとdoxygenそのものを修正するのとどっちが楽だろかw

114 :
>>113
だいぶ前からエンコーディング指定して全部一旦 UTF-8 に変換されるようになったから
その手の問題は解決済みだと思ってるんだけど、何かバージョン上げれない理由でもあるの?

115 :
cygwinの最新は1.5.5-1だね。
つまり、解決済みではないらしい。

116 :
cygwinは使ってないので、それが理由かどうかは知りませんが、
1.5.6から1.5.7.1まではフレーム付きHTMLのツリービューで
英数字以外が文字化けするという問題がありました。
2日前に出たばかりの1.5.8でやっと解決されました。

117 :
>>115
Windows ネイティブ版を使えない理由があるの?

118 :
全部一旦 UTF-8 に変換されるようになったのは、1.5.2以降だから、
>>113, >>115 の cygwin版も UTF-8 に変換されるバージョンです。
最新版でも日本語RTFはかなり駄目な感じです。
手元のソースを処理させてみたら、目次の見出しの「目次」の後ろとか、
あちらこちらに見えてはいけない「\par」や「{」が見えて、
本文数ページで破綻します。

119 :
HTML だと問題ないってことかな? HTML しか使ってないからよくわかんないや。

120 :
昔、1.4.6でRTFを作ったことのあるソースを、設定をほとんど変えずに1.5.8に掛けても駄目でした。
1.4.6で作ったRTFの半分ぐらいしかファイルサイズがありません。
むしろ内部処理が UTF-8 になってから、おかしくなったんじゃないかという気がしてきました。

121 :
折角色々対応してあったのを、UTF-8にしたのを機に捨ててしまったような感じだな。
この正月休みの間に暇があるようならソースでも見てみるか。

122 :
過去のバージョンを取ってきて順に試してみました。
1.5.0までは日本語の RTF が生成できて
(おかしなところが無いかまではチェックしてませんが)、
1.5.1で、
"Warning: Output language Japanese not supported! Using English instead."
と表示され、日本語が表示できませんでした。
ここで一旦無かったことにされたようです。

123 :
問題分かったかも。
id 437346 のバグレポートで日本語対応の議論がされてるんだけど、
報告者の人が提案した、
x080より大きいバイトが来たらマルチバイト判別フラグON、
次のバイトでフラグOFF、というのをそのまま採用してくれたらよかったのに、
0x80より大きいかの判断をそのままフラグに入れちゃってるから、
2バイト目が0x80より大きい場合に、その次のバイトまでエスケープされて、
それがエスケープされたら困るものの場合に不幸になってるということかと。

124 :
repopかければいいのに。
rtfって何で読めるんだろう。AbiWord?ooo?

125 :
>>123
事はそう単純じゃない。というか、もっと単純。
内部UTF-8をcp932に変換して、必要ならエスケープすべきなのにそれをしていないと言うのが>102=113の観測だろ。
例えば「ソソ」が「\'83\\\'83\\」にならないといけないのに「\'83\\'83\」になると。
それとも、二種類の問題が独立して存在しているのか?

126 :
>>125
ああ、すいません。
>>123で書いたのは、1.5.8の場合の問題です。
>>102,,>>113の、.1.5.5の問題はエスケープされてないというので合ってると思います。
1.5.8でそれに対する対応が入れられたけど、方法がまずく、
今度は逆にエスケープすべきでないところまでされたという話。

127 :
>>78
1.5.8で直った

128 :
とりあえず保守ですが、あけおめ。
日本語rtf使えるようになるといいですね
自分はまだ皆様のようにハックに参加できるほど技術がないので、精進したいと思います。

129 :
又更につまらない問題に遭遇。
折角修正したrtfがWordだと読めるのにOpenOfficeだと文字化けする。
例えば、「\'83\\」のような>125が指摘した例だと、「\'83\'5c」のようにしないといけないらしい。
あーもう、rtfを解析するしかないのかなぁ。
# doxygen1.5.8で変わっているらしいからそっちに手を出すのは避けたいし。

130 :
解決しました。ありがとうございました。

131 :
1.5.8 のrtfのエスケープバグのソースって
どのファイルなのかな?

132 :
ちょっとLinuxに1.5.8をインストールしたので出力してみたが、これは酷いw
2バイト文字を全てコード出力しているのはいいが、>123のように無関係なコマンド文字まで巻き添えにしてしまっている。
おまけに、コマンド文字列を何故か\commentで括ってしまっているので収拾がつかない状態。
そうそう、html出力のツリービューも、(UTF-8)指定なのにも関わらずプロジェクト名がEUCで出力されるので化け化け。
誰かなんとかして〜w
# ってことで、>131に期待♪

133 :
うはw ぼくとしては>102さんに期待してるんだけどっw

134 :
>>131
rtfgen.cpp の void RTFGenerator::postProcess(QByteArray &a) です。
こちらを参考に。
ttp://bugzilla.gnome.org/show_bug.cgi?id=437346
>>132
そういや最近プロジェクト名を日本語にしてなかったけど、これは…
どうやらDoxywizardのバグのようです。
テキストエディタでDoxyfile開いてプロジェクト名を修正して、
コマンドラインでDoxygenを実行したら、文字化けしませんでした。

135 :
>>134 ソース位置ありがとう。
これって、よくわかってないけど、postProcess()で、ファイル全体を
エスケープしてるのかな。
もしそうなら、rtfでの表示される文字列以外も全部エスケープされて
しまい、上のバグが症状がでてるんじゃないかな?
rtf表示文字列だけをエスケープするようにするには、postProcess()
の中でやってちゃだめで、rtfgen.cpp(にあるか知らないけど)
で表示文字列をrtfタグ中に埋め込む時コード当たりでやらないといけなそう?
とりあえず、doxygenをWindowsでコンパイル出来る環境作り
からやらないといけないのが辛いorz

136 :
>>135
頑張れw
Cygwinなら協力する。
# つーか、ソース拾ってきて自分でやれ>自分

137 :
>>135
0x80より大きい値とmb_flagが1のときだけエスケープされるはずです。
1.5.7.1以前のバージョンではmb_flagが無くて、0x80より大きい値という条件しかなかったので、
マルチバイト文字の2バイト目が「{」や「\」などの場合におかしくなってました。
mb_flagをマルチバイト文字の1バイト目で1にすれば、
次のバイトが0x80以下でもエスケープされるという仕組みのはずですが、
mb_flagの設定方法がまずくて、2バイト目でクリアされなくて
さらに次のバイトまでエスケープされる場合がある、という状況です。
ttp://bugzilla.gnome.org/show_bug.cgi?id=437346
で、T.Matsuyama氏が提示したコードが正しく動くはずです。
#そこまで分かってるな自分でやれ、と言われそうだ……
すいません、環境作りが荷が重いですorz

138 :
バグ修正版バイナリ出来たよん。
http://www1.axfc.net/uploader/He/so/182473&key=doxygen
T.Matsuyama氏パッチそのままです。
ばっちりっぽいです。
102さん、134さんありがとw

139 :
おー、これは凄い。後で試してみるか。

140 :
てか、>>137のURLが示すバグをreopenして開発者に教えてあげればいいんじゃないの?
アカウント持ってないから誰でもreopenできる設定なのかはわからないけど

141 :
いかん、未だ試せてない……

142 :
コメントが一切ついてないソースに
関数の定義部分だけ自動的に
タグを生成してくれるツールないですか?

143 :
>>142 ctags?

144 :
>>142
このスレ的には、タグというとDoxyfileのタグのことになるのだがそれでいいのかい?

145 :
@が付くやつがいい

146 :
ドキュメントつけしてない関数も出力するオプション?

147 :
やっと>138を試せた。取り敢えず、cygwinからでも使えることと日本語が化けないことは確認した。
但し、OpenOffice(3.0)では{comment[^{}]}を取り除く必要があったこととTITLEなどのフィールドは
巧く変換できなかったけれど、これは元からそうなのかもしれない。
今度機会があれば、素直にMSwordに食わせてみるとしよう。

148 :
cygwinで>138を動かし、できたRTFをWORD2000に食わせた。
全選択してフィールドの更新、画像アンリンクのマクロを動かして、
docに名前を変えて保存。一応、スタンダロンで使える資料になるようだ。
で、画像アンリンクのマクロって需要あるかな。あるようならどっかで公開するけど。

149 :
doxygenのライセンスってGPLですよね。
doxygenのコメントを書いたソースって公開しないと駄目ですか?

150 :
ならないよ
GPLのお絵かきソフトで絵を描いたようなもん

151 :
>>150
ありがとうございます

152 :
DoxyfileもGPLに該当しないのかな。
それとも、コメント部分は削除しておいた方が無難?

153 :
ソフトのドキュメントを作るのにDoxygenを利用してもGPLにする必要なし。
ソフトの機能としてDoxygenを利用する場合はGPL。

154 :
@a と @p ってどう使い分けてる?
どっちも文中の引数のフォントを変えるために使うものみたいだけど。

155 :
\aは「特殊なフォント」ということで一般的にはItalicかな。
\pは\cと等価で「タイプライタフォント」ということで等幅フォントが使われる。
後は、実際の出力を見て検討したら?

156 :
普通はどうする、ということは特になくて、見た目の好みで使えばいいのですか。
ヘルプを見ると、@aは "refer to member arguments" 、
@pは "refer to member function parameters" と書かれてて、
微妙に使い分けがあるようなないような、よく分からなかったもので。

157 :
意味で使い分ければいいと思う。
フォントとかの体裁はCSSで変えられるんじゃなかったかな?やったこと無いけど。

158 :
@a の argument が実引数で @p の parameter が仮引数なわけだけど、
コメント中では仮引数しか現れない気がする。実引数が現れることなんてあるか?

159 :
恣意的に使い分ければいいんじゃね?
>>157
出力するものによって指定するスタイルシートや指定方法は違うけど、htmlならcss,だね。
やったことないけどw

160 :
member argumentがクラスのメンバー変数ってことはないかな。

161 :
>>158
@p param1 の値が @a xxx だったら〜
みたいな説明を書くのに使うとか?

162 :
メソッドのコメントは、戻り値がなくても「@return なし」と明示的に書くべきでしょうか?
引数がない場合も同様に「@param なし」と書くでしょうか?

163 :
前者はお好きにどうぞ。
後者は「なし」なんて引き数はないぞって警告が出るんじゃないかな?

164 :
>>163
レスありがとうございました。
確認したら「@param なし」ではwarning argumentと出ましたのでこれは書かないようにします。

165 :
今の大会は、開発環境の違いによる面白さもあると思う。
共通スペックでやるなら別に大会をおこせばよいと思う。

166 :
>>165
誤爆しました。すみません。

167 :
Doxygen 1.5.9 age

168 :
さっきまでは1.5.8だったのに。早速試すぜ。

169 :
ソースの先頭のコメントの 理想的なサンプル を教えて。
言語は問わないけど、出来ればCで。

170 :
理想的かどうか知らんが、私の典型。
--
////////////////////////////////////////////////////////////////
/// \file foo.c
/// \brief あーたらこーたら
///
/// あーたらこーたらをあーたらこーたらするとかなんとか。
/// \date 2009/3-4
/// \author bar\@site
/// \attention なんだかんだ
/// \version hage.hige.hoge
//
--

171 :
>>169
とりあえず最小限はこうだろ。 JAVADOC_AUTO_BRIEF オンで。
/** @file
* 簡単な説明.
* 詳細な説明
*/
170 のやつだと、ファイル名はどうせ名前変更したときに更新し忘れるし、
日付や作者やバージョンはバージョン管理ソフトに任せればいい。
詳細な説明も attention も必要に応じて、だな。とにかく書かないで済むものは
書かないのが一番。

172 :
>>170
ありがとうございます。
>>171
そのバージョン管理ソフトに書かせるので心配ゴム用です。

173 :
表書くのってtableタグ使うしかないんでしたっけ?
それだとソース上で見づらいんで、
リストみたいに簡易記法があればいいんですけど。

174 :
doxygenって使ったこと無いんだけど、
ぶっちゃけて言うと、オススメですかい?

175 :
>>174
おすすめとは言えない
でも面白い使い道がある事は確か
実際に走らせてみて「おー」とか言って楽しむものだと思う

176 :
>>174
クラス関連図とか、煩いクライアント向けのコーリングツリーを作るのに便利。
# 余程酷いソフトハウスに当たった経験があるのか、関数の依存関係を知りたがるクライアントがいるのよ。

177 :
>>175-176
ほっほー。
ありがとう。
「ある程度習熟するために勉強を要してめんどくさそうだ」
と思っていたが、試してみようかなあ。

178 :
>>177
コメント付いてないのも全部出力する設定で、
とりあえず手持ちのソースそのまま掛けてみたらいいよ。
それで出来上がるものが気に入れば、それから書き方に慣れていったらいいし。

179 :
Graphvizの使い方が秀逸だと思う
これは出力結果を印刷してじっくり眺めたい

180 :
>>178
ありがとう。分かった、そうしてみるわ。

181 :
客先から小汚いソースを受け取ったら、取り敢えずDoxygenに掛けて
静的解析するのは基本だな。

182 :
>>171
subversionとかの置き換えキーワードもdoxygenは認識してドキュメント化してくれる。

183 :
ちょっと詳しい説明を箇条書きで入れたいんだけど、
空白行が入るとパラグラフが終わってしまうので、空白行を一切入れないで
長い文章を書かなきゃいけなくなり、なんていうか
ソースコードのコメントが非常に見づらい。本末転倒な気がするんだけど、
空白行を無視してくれる方法とか、ない?

184 :
>>183
ソースコード上でだけ行間が空いてればいいのなら、
全角スペースを入れておけばどうでしょう?
ドキュメント上で行が連結されたときに、余分な空白が入りますが。
ドキュメントでも行間が空くようにしたいのなら、
行頭の邪魔にならないところにでも「@n」を入れておくぐらいしか思いつきません。

185 :
doxygenの文字化け対策
ttp://d.hatena.ne.jp/kmt-t2/20090403/1238718375
ここに救われた俺がいる。

186 :
doxygenであるライブラリのドキュメントを作った時、
そのライセンスってどこにどうやって記載すればいいの?
ドキュメント内に表示されるようにしたいんだけど。

187 :
doxygen気に入ってきた。

C++とdoxygen最新版にて。
ドキュメント作ると名前解決に使う::がドキュメントにもりこまれたり盛り込まれなかったりする。
例えばNameS::MyClassが、
ドキュメントの100行目ではNameS::MyClassになっているのに
101行目ではNameSMyClassになっていたりする。
これはどう解決すればいい?

188 :
>>187
このレスの流れを見ても分かるように、Doxygenは文字コードの扱いが未だ未だ不安定だったりする。
あんたの言う、「ドキュメント」がrtf出力ならこのスレにある対策版を使ってみた方がいいかもしれないし、
chm出力なら>185を参考にするといいかもしれない。

189 :
>>186
@mainpageコマンドでメインページに入れるか、
@pageコマンドで独立したページにすればどう?

190 :
>>188
ありがとう。
説明不足だったね。
ドキュメントはフツーのHTMLなんだよね〜。chmじゃなくて。
>185をやってみたら文字化けは解消したんだけど
>> ドキュメントの100行目ではNameS::MyClassになっているのに
>> 101行目ではNameSMyClassになっていたりする。
この現象は解決しないのだ。。。


191 :
>>189
@pageコマンド
なんて初めて知ったわ。
どこかいい解説サイトとか紹介してくれる
お方、いらしたらお願い!

192 :
>>191
doxygenに付いてくるサンプルも参考になるよ。
当然全部英語だけど、記述例のソースと
それを使って出力されたドキュメントがある。
コマンドの説明が知りたかったら、
>>1 のサイトの日本語版マニュアルを見ればいいし。

193 :
>>192
そうか、ありがとう。
見てみるよ。

194 :
いつの間にかDoxywizardもだいぶ使いやすくなったんだな

195 :
俺は最近doxygenを使い始めて、
最初に
Doxywizard
を使ってかなり直感的に操作できたから知らなかったが、
そうなのか。前は使いづらかったのか。
grach

196 :
#defineマクロ定義をドキュメント(html)に出力させたくて
ttp://www.doxygen.jp/commands.html#cmddef
ここを見て
C++ code - 19 lines - codepad
ttp://codepad.org/mUM77yZO
こんなの書いてみたんですが、
全然#defineマクロ定義が出力されません。
どうすれば良いでしょうか?

197 :
>>196
define_test.h のファイルのページ自体は出来てる?
実際のファイル名と @file の後ろに書いたファイル名が合ってないとかはないかな、と思ったもので。

198 :
>>197
ttp://loda.jp/uploader_nrnrnr/?id=2
こんなHTMLが生成されました。
どうなんでしょう。。。?

199 :
>>198
define_test.h ファイルのドキュメントのページができてないね。
>>196 のソースをコピペして同じ名前で保存してみたけど、
こっちじゃちゃんと出力されてるよ。
Doxyfile 晒してもらえるなら、何が違うか比べてみるけど。

200 :
>>198
もしかして、SHOW_FILESがOFFになってない?
Doxywizard使ってるなら、ExpartのBuildの下の方。

201 :
>>200
丁寧にありがとうございます。
Doxyfileは以下です。
C++ code - 1503 lines - codepad
ttp://codepad.org/aNCHcRW3
お願いします。

202 :
追記:
  SHOW_FILES=NOになっていましたが、
  YESにしても変わりませんでした。
  私の環境は
  windows xp sp2
  doxygen 1.5.9です。

203 :
>>201
WARN_IF_DOC_ERROR を ON にしたら判明した。
ENABLE_PREPROCESSING が OFF だとマクロは見てくれないらしい。

204 :
補足
WARN_IF_DOC_ERROR を ON にしたら、
「マクロにコメント書いてるけど、ENABLE_PREPROCESSINGがOFFだからスキップしたよ」
というようなメッセージが表示された。

205 :
>>204
ありがとうございます。
WARN_IF_DOC_ERRORとENABLE_PREPROCESSINGをYESにしてみましたが、
結果は代わりありませんでした。
Doxyfileはこちらです。
ttp://codepad.org/rsH3deU0
設定を読み込み直していないなどということはなく。
doxygenのウィンドウに表示される情報は
ttp://codepad.org/bqYOU7ug
の通りです。
すみませんがよろしくお願い申し上げます。

206 :
追記:
  テキストエディタでDoxyfileを開き、
  = NO
  を検索して全て
  = YES
  に置換してみました。
  それでdoxygenを走らせたところ、見事#defineは出力されました。
  やはり設定が問題な様です。


207 :
どこの設定が問題なのか探るために
Doxyfileにて二分木法的にNOをYESに置換してみました。
ファイルのど真ん中の行を基準に上だけないし下だけを
全部NO→YES置換を行いました。
しかし、このどちらも#defineが出力されません。
やはり複数の設定項目が関わっているようです。

208 :
解決しました。
正解は
・ENABLE_PREPROCESSINGをYESにする。
・SHOW_FILESをYESにする。
でした。両方が同時に満たされていないとだめなようです。
お手数をおかけ致しました!

209 :
>>205-208
解決したようなのでもういいかもしれないけど、
WARN〜系の設定は、出力状態を変更させるためのものではなくて、
コメント付けてるのに出力されない設定になってるとか、
記述漏れがあるとか、そういうエラーメッセージを表示するためのもの。
今後何かうまくいかないときに参考になるかもしれないので念のため。

210 :
>>209
はい、WARN〜系の設定に関して、よく頭に入れておきます。
ありがとうございました。

211 :
Windows XP SP2, doxygen 1.5.9です。
htmlドキュメントを生成すると、
本文中のstd::coutのようなスコープ解決演算子が消えてしまい、
stdcoutになってしまうことが多々あります。
再現するソースやその結果のhtml, Doxyfileは以下の様です。
ttp://loda.jp/uploader_nrnrnr/?id=3
具体的にはこのソースにて
 Test::foo()は
 numをstd::coutに出力します。
になるはずが
 Test::foo()は
 numをstdcoutに出力します。
になってしまいます。
再現条件は絞れておりません。
どうかお知恵をおかしください。
よろしくお願い申し上げます。

212 :
>>211
理由はよく分からないけど、std::coutの前後に空白を入れたら正しくなりました。
識別子っぽいものに非ASCII文字がくっついてたらおかしくなるってことじゃないかと思うんですが。

213 :
>>212
たしかに、前後に空白で正しく表示されます。
本当に適用したいソース(再現用ソースでない)でもうまく表示されます。
ありがとうございました。

214 :
>>195
今のdoxywizardはver.1.5.8(去年の暮れ頃)からですね。
基本的な設定項目だけのwizardモードと、
設定可能な項目が全部表示されるexpertモードの2本立てというのは
昔も今も変わりませんが、
設定を変えたら保存しないと実行できなかったとか、
設定項目のセクション切り替えがタブで、expertモードだと
たくさん並んでるのをぐるぐるスクロールさせる必要があったとか、
細かいところで少し不便でした。
マニュアルに載ってるスクリーンショットは旧バージョンのような気がします。

215 :
doxygenで、1カ所に書いたコメントを複数箇所で参照する方法はありますか?
例えば、
hoge.h内で@version 1.1.1
という記述が同じhoge.h内で他にも複数箇所に登場する場合、
全部に@version 1.1.1と書いてしまうとバージョンを上げる時に
全箇所を手動で修正する羽目になってしまいます。
どうにかする手段はありますか?


216 :
>>215
設定ファイルのALIASESで@version 1.1.1に別名をつければ、
バージョンを上げるときはそこだけ変えればOK
というのはどうでしょう?

217 :
質問です。
いままでのプログラムは以下のようにコメントしていたのですが、
doxygenでは/** */の形式にしないとドキュメント作成はできないのでしょうか?
コメント部分を目立たせたいので、できれば今までのコメント形式を維持したいのですが・・
今までのコメント例
//********************************************************
// Test.cpp
// 2009.09 by Tester
// テスト用のクラス
//********************************************************
これを
/**
*
*
*
*/
形式にするのは少し抵抗があります

218 :
>>217
特定の形式にしないと、ドキュメントにしないコメントと区別できないですからね……
使えるコメント形式はマニュアルの「Documenting the code」にいろいろ例があります。
(日本語マニュアルは古くて少し情報が少ないです)
今までのに比較的近いのは
/*****************************************************//**
* Test.cpp
* 2009.09 by Tester
* テスト用のクラス
*********************************************************/
でしょうか。

219 :
>>217
最初と最後の //****** はそのままで、途中の行だけ先頭の//を3文字にすればいい

220 :
つまり、こうだな。
//********************************************************
/// \file Test.cpp
/// \date 2009.09
/// \author Tester
/// \brief テスト用のクラス
//********************************************************

221 :
>>217
俺も抵抗があったけど、
変えてみたら意外と平気だったよ。
要は見慣れるかどうか。

222 :
>>216
ALIASES
なんてものがあるのですね。
ありがとうございます、試してみます。

223 :
>>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 :
追加で質問失礼。
Player.hの内容↓
/** @brief クラスの簡易説明
 * このクラスの使用目的・使用方法など詳しい情報を書く。
 * @todo 必要であれば記述
 * @bug バグがあれば記述
*/
#if !defined (__PLAYER_H__)
#define __PLAYER_H__
class CPlayer
{
...
}

というプログラムだと、インクルードガードのほうに
マクロ定義
#define __PLAYER_INFO_BASE_H__
クラスの簡易説明  * このクラスの使用目的・使用方法など詳しい情報を書く。
というドキュメントが付いてしまうのですが、
インクルードガードは一番上に書かなければいけないのでしょうか?
できればファイルに関するコメントを一番上に記述したいのですが・・・

225 :
さらに追加質問ですいませんorz

出力されたドキュメントは任意の名前のフォルダに作成されますが、
index.htmlが他の細かいファイルと一緒のフォルダにあるため探しづらいです。
そのため、index.htmlだけ残して他のファイルを別のフォルダに押し込む
というようなフォルダ構成を構築したいのですが、そういったことは可能でしょうか?

226 :
>>223
ファイルの最初のコメント:
ファイル名の大文字・小文字の問題かもしれません。
ファイル名無しで @file だけにしてみてはどうでしょうか。
フォント:
フォントはデフォルトのスタイルシートで、
font-family: Lucida Grande, Verdana, Geneva, Arial, sans-serif;
と設定されてるので、
特にカスタマイズしてなければゴシックで表示されるはずなんですが。
>>224
対象を指定しないドキュメントは、直後にあるものに関連づけられます。
ファイルに関するコメントにしたいなら、@file が必須です。

227 :
>>224
本題とは直接関係ないと思いますが、ドキュメントに「 * 」が入ってるのが気になりました。
コメント行頭の「 * 」のところ、全角スペース使ってませんか?

228 :
>>226-227
thanks.
一度doxygenを全削除して再インストールしたら
なんとかファイル要約関連のコメントはでるようにできました。

229 :
また質問なのですが、
以下のような複数行について同じコメントをつけたい場合は
何かうまい記述法はありますか?
例:
/// 3D座標を示す値.
int nX;
int nY;
int nZ;
このままですと、nXだけにコメントがついてしまうため、
3つの変数全てに同じコメントを出すようにしたいのですが・・・
int nX;///< 3D座標を示す値x.
int nY;///< 3D座標を示す値y.
int nZ;///< 3D座標を示す値z.
これだと冗長な感じでちょっと抵抗があります

230 :
っ nameタグ

231 :
>>229
普通は、一つのコメントで括られるような変数は構造体に入れるもんじゃね?

232 :
>>231
おお、良いこと言った!

233 :
>>231
座標とかだと、配列の方が扱いやすいかも
構造体の方が見やすいけどね

234 :
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)
の様にコメントをこの場所に入れたいしたいのですが、可能でしょうか?

235 :
>>234
マニュアルの「Grouping」(日本語版マニュアルだと「グループ化」)のページを見てください

236 :
>>235
それで出来るのですね。
ありがとうございます。見てきます。

237 :
doxygenで作ったthtmlドキュメントの
若干ながらフォントサイズが小さすぎると感じます。
このフォントサイズを大きくすることはできますか?

238 :
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
と付いただけでした。
どこが誤っているでしょうか?
よろしくお願いいたします。

239 :
C++ code - 26 lines - codepad
ttp://codepad.org/wOT4IAlv
とりあえずこれで行けそうです。
・・・法則性がわからない。

240 :
法則性はその>>238>>239の違いの@nameの有無の部分ですよ。
マニュアルより:
ブロックの開標識の前に、独立したコメント・ブロックを置くこともできます。
このブロックは、@name (または、\name) コマンドを含む必要があり、
グループのヘッダーを指定します。
そうしたければ、グループに関するより詳しい情報をコメント・ブロックに
含めることもできます。

241 :
>>240
doxygen用語の理解が今ひとつ足りなかったようです。
親切にありがとうございました。

242 :
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の問題だとしたら若干スレ違いかもしれませんが、
よろしくお願いいたします。

243 :
C++ code - 25 lines - codepad
サンプルソースが腐ってたので
ttp://codepad.org/AwsZMCHk
これでお願いします。

244 :
>>242-243
DOT_FONTSIZEが小さい(デフォルト値は10)のが気になりますが、
正直なところデフォルト設定と余りに違いすぎて、それだけなのかどうかは何とも。
もしこだわって作りこんだ設定でないのなら、一度デフォルト設定に戻して、
最低限必要なところだけ変えるようにしてみてはどうでしょう?
デフォルト設定にはメニューから[Settings]→[Reset to factory defaults]で戻せます。

245 :
>>242
どこを問題視したいのか判らんが、HAVE_DOTがNOだからクラス階層図が出ないのは当たり前なんだが。
つーか、>>244も含めて
Doxyfile位真面目に読んでくれ。

246 :
>>244-245
ありがとうございます。
教えを頼りに読んできます。

247 :
>>242, >>245
>>242のドキュメントではdotファイルが吐かれてるし、
クラス階層図はdotファイルの内容どおりに生成されてます。
文字が読めないのはフォントサイズが4のためです。
コラボレーション図はdotにノードがなぜか出力されてませんが、
画像ファイル自体は真っ白なのが存在していて、
dotファイルの内容どおりには生成されているといえます。
なので、これらはHAVE_DOT=YESの状態で生成されたはずです。
DoxyfileはHAVE_DOT=YESにする前に保存したものと思われます。
dotの中身が異常なので、ほかに問題があると思います。

248 :
Doxygenて
__declspec(dllexport) int WINAPI MyFunc(int arg);
とか、それを簡略化して
#define API(type) __declspec(dllexport) type WINAPI
とした場合に
API(int) MyFunc(int arg);
みたいな宣言もちゃんと処理してくれる?

249 :
>>247
ありがとうございます。
全然こだわって作りこんだ設定ではありませんので、
デフォルトに戻すことに抵抗はありません。
いろいろ教えの通り試してみます!

250 :
http://appleloader.bbsnow.net/pic_loader/nomal/html/1_11.html
Exportタブに何も表示されないのですがバグですか・・・?
ノートPCでは表示されました
両方 WinXP 32bit SP3 です

251 :
>>248
__declspec()は関数と誤認識されるので、
PREDEFINED で __declspec(x)= を定義するなどして、
プリプロセス時に取り除いてやる必要があります。
(マニュアルの「Preprocessing」に書かれてます)

252 :
>>250
eeepc + winxp でやってるけど、ウチも全く同じ現象になるよ。

253 :
レスありがとう。
じゃあエクスポートタブの設定はできないのですかね・・・?
日本語マニュアルを作成したいので以下の設定をしたいのですが
設定する箇所は2箇所です。まずProject内にある「OUTPUT_LANGUAGE」をJapaneseにします。これで日本語マニュアルが作成されます。ただ、このままだと文字化けが起こります。
 続いて、Inputの中にあるINPUT_ENCODINGに「CP932」と文字を打ちます。CP932というのはMicrosoftなどが拡張したShift-JIS文字コードです。Visual Studioなどのソースコードはこの文字コードを指定するとDoxygenでうまく読み込んでくれます。
改善方法分かる人いたらアドバイスください よろしくお願いします

254 :
>>253
設定内容を保存したファイルはテキストなので、直接編集できますよ。

255 :
>>254
お!
ありがとうございます

256 :
>>255
念のため。
PROJECT_NAME 等に日本語を使ってる場合、UTF-8で保存されてるので気を付けて。

257 :
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
の様にしたいと思っております。
また、各マクロの説明文にある
 値:〜〜
というのも非表示にしたいと思います。
どうすればよろしいでしょうか?

258 :
関数テンプレートなどの
テンプレート引数を出力する項目は作れませんか?

259 :
>>257
MAX_INITIALIZER_LINES を 0 にするのはどうでしょう?
変数の初期値なども全部表示されなくなりますが。

260 :
>>258
@tparamで出来るらしいです。

261 :
>>260
ありがとうございます。
助かります。

262 :
>>259
MAX_INITIALIZER_LINESを0にする方法でいけそうです。
ありがとうございます。

263 :
doxygenの公式サイト(英語版)
が見たいのだが、リンクが死んでいる気がする。
それとも単に落ちただけだろうか?

264 :
単に落ちただけだったようだ。
勝手に騒いでスマソ。

265 :
保守

266 :
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でグラフ化されて表示されています。
よろしくお願いいたします。

267 :
>>266
HIDE_UNDOC_RELATIONS が YES だからじゃないかと思いますが、
NO にしてもライブラリからの継承まで図に含めてくれるかどうか。
INCLUDE_PATH にコンパイラのヘッダファイルのパスの設定もして試してみてください。

268 :
>>267
HIDE_UNDOC_RELATIONS
をNOにしたところ、
> INCLUDE_PATH にコンパイラのヘッダファイルのパスの設定
これをしなくても希望通りになりました。
ttp://imagepot.net/view/124550817681.jpg
感謝感激です。
どうもありがとうございました。

269 :
保守

270 :
>>250
どうもパネル作成時のミス?のようです。
Exportタブの中身はWizardタブと同じように左右分割されているらしく、
「左側の何も無いパネル」「右側の設定パネル」という風になっています。
それで「左側の何も無いパネル」の幅が最大になっているため、
何も表示されていないように見えるようです。
マウスを右端に移動させるとカーソル形状が変化しますので、
そのまま左にドラッグすると設定内容のパネルが見えるようになりました。

271 :
少し訂正
左右分割だけではなく左側が上下に分割された3ペイン方式でした。
「左側の何も無いパネル」のように見えるますが下のほうに移動してるだけでした。
270と同じように下から上にドラッグすると表示物が見えるようになります。

272 :
保守

273 :
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
ここにあるような
文字サイズにしたいのですが、どうすればよろしいでしょうか?
よろしくお願い申し上げます。


274 :
>>273
ドキュメント見てみたけど普通の文字サイズだと思うけど。
そういえば最近のバージョンはちょっと前のより文字サイズ小さいかも。
DOT_FONTSIZE はグラフの文字サイズ、FORMULA_FONTSIZE は式の文字サイズです。
文字サイズを変えるにはスタイルシートをカスタマイズすることになると思う。
やったことないけど、マニュアルによると、
doxygen -w html header.html footer.html stylesheet.css
でデフォルトのファイルを出力して、それを書き換えて
Doxyfile の HTML_STYLESHEET でそのファイルを指定するらしいです。

275 :
>>274
その方法で解決できました。
文字サイズは見る人によって好みがあると思っていましたので、
stylesheet.cssのフォントサイズ指定の部分を削除しました。
これにより人によって好みの文字サイズにブラウザ側で変更できるようになりました。
(前はブラウザ側でも文字サイズの変更が(通常操作の範囲では)できませんでした。)
どうもありがとうございました。

276 :
Doxygen
で表を表示する方法を教えてください。
ttp://www.doxygen.jp/htmlcmds.html
ここの<table>タグ以外にはありますか?

277 :
Doxygenはドキュメント生成ツールであってドキュメント記述言語ではないから
適宜表は表示されるよ。例えば関数一覧とかファイル一覧とか。
任意の表を記述したいと言うことなら話は別で。
元々html自体に表を記述するタグはtable以外にはないに等しいからねぇ。
横方向に高々2カラムしかないなら<ul>などで代用できなくもないけれど。

278 :
>>277
ありがとうございます。
良さそうなのでもうすこしマニュアルを読み込んできます。

279 :
>>276-278
私も任意の表をお手軽に作る方法はないかなと思ってました。
今ふと思いついたんですが、関連のタグの組み合わせをALIASESで簡略化したらちょっとはマシかも。

280 :
保守

281 :
Doxygen 1.6.0 age

282 :
Doxygen 1.6.0で何か変わったことある?
設定とかは変わってないよね?
また設定しなおしとか嫌よ。

283 :
>>282
二重引用符で囲っていた中で @a とか使ってたのが利かなくなってましたorz
まんま " @a hogehoge "な具合に表示されてます。
バグなのか仕様変更なのかは知りません。

284 :
>>283
ありがとうございます。
私は@ではなく\で書いているので問題ないですかね。

285 :
>>284
それは試してないのでわかりません。
以前のバージョンから、「@」は利かなくて「\」なら利く局面もありましたから、
(例えば @dot 内の URL パラメータに \ref を使うとか)
もしかすると問題ないかもしれません。
なお、「"」の代わりに「"」を使えば、「@a」も機能しました。
ソースコメントでの視認性を考えるとやりたくないですが。

286 :
>>285
あ、「”」の代わりに「&quot;」です。
(今度はちゃんと表示されるかな)

287 :
>>285-286
なるほど。
詳細 誠にありがとうございます。
今のdoxygenで問題がないので、
念のためdoxygenバージョンアップするのは
控えておこうかと思います。

288 :
補足です。
>>283 のような状況になっているということはつまり、
二重引用符で囲まれている部分が区別されるようになったということで、
いままで単純に1文字として「"」を使ってた部分や、
うっかり片方の引用符を忘れていた部分でエラーが出ます。

289 :
doxygenで生成される、
左側の目次(ツリービュー)を自分が好きに
並べる方法している方いらっしゃいませんか?
誰か教えてください。

290 :
Doxygen 1.6.1 age

291 :
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でも同様の現象でした。

292 :
>>291
lodaの方にコメントついてる。

293 :
2chの方ばかり見ておりました。
ありがとうございます。

294 :
と思いましたら解決しませんでした。
\ mynamesp::hogeクラスです。とすると、不要な半角の\が入ってしまいます。
! mynamesp::hogeクラスです。とすると、不要な半角の!が入ってしまいます。
 mynamesp::hogeクラスです。とすると、doxygenの抱えるバグ(*)により、mynamesphogeとなってしまいます。
(*)全角文字に半角英数が続き、スコープ解決演算子である::がその後ろに来たとき、::が無視されるというバグです。
どうしたらいいでしょうか?
http://loda.jp/uploader_nrnrnr/?id=10&dsq=15701579#comment-15701579
で質問させていただいている者です。

295 :
>>294
lodaのコメントは、行頭に「\」や「!」を入れるのが
大文字化されないための書き方という意味じゃなくて、
文の先頭にクラス名がこない書き方を工夫すればという意味だと思う。
# 一覧表以外のところでは大文字化してないから、個人的にはバグじゃないかと思うけど。
「::」が消える件は >>211-213 を参照。

296 :
>>295
私もバグではなく仕様だとは思っています。
::が無視されるのはバグですが。
最速で>>187さんが触れてますね。
どうもありがとうございました。

297 :
プログラミング言語によっては全角文字も識別子に使えることを考えると、
文中に空白で区切られずに書かれてる識別子を正しく認識して欲しいというのは、
日本語の構文を理解する必要のある無茶な要求じゃないかな。

298 :
そうか?
別に煽りたい訳じゃ無いけど、消えてしまうのは文字コードの問題だと
考えるのが普通では?
だって構文解析いらないでしょ。

299 :
>>298
消えてしまうのはバグだと思うけど、
クラスメンバを認識して自動的にリンクを張る機能があるんだから、
その過程で「::」を特別扱いしてると思うのよ。
ていうかごめん、言葉が足りなかったわ。
言いたかったのは、バグが起きにくい書き方をするように
歩み寄ってもいいんじゃないかということなんで。

300 :
1.6.1を入れたのだけど、doxywizardで項目名が赤くなるのはどういう意味?

301 :
>>300
1.6.1前からでも赤くなかった?
おそらくデフォルト値から変更された物が赤いんじゃないかと思われる。

302 :
>>301
どうもありがとう。確かに入力すると赤くなり、消すと黒くなるから変更されたところだ。
前は1.5.6を使っていただけど赤くはならなかったので、最初はエラーかと思った。

303 :
Javaで使っているのですが、クラス階層図や関数の呼び出し図などで、
クラス名がパッケージ名を含む長い名前になるのを避ける方法はあるでしょうか?
例えば、以下のサンプルですと、図からorg.byteml.の部分を取り除きたいです。
http://byteml.sourceforge.net/html/classorg_1_1byteml_1_1serialize_1_1ByteMLBuilder.html

304 :
doxygenで、C++でhtmlドキュメントを作りたい時、
 ここからここまでの範囲のソースはドキュメントしないでね
あるいは
 このクラスはドキュメント化しないでね(ドキュメントに載せないでね)
といった指示はできるのでしょうか?
よろしくお願いいたします。

305 :
>>304
素直な方法は、ドキュメント化したい部分に一通りdoxygen用のコメントをつけて、
EXTRACT_ALL は NO にして、
HIDE_UNDOC_MEMBERS と HIDE_UNDOC_CLASSES を YES にすることでしょうか。
そうすれば、コメントの付いている部分だけがドキュメント化されます。

306 :
>>305
ありがとうございます。
私は
> EXTRACT_ALL は NO にして、
> HIDE_UNDOC_MEMBERS を YES に
まではしているのですが、
HIDE_UNDOC_CLASSES
はNOにしています。
というのも、YESにするとドキュメント化したいクラスが
標準ライブラリや他人のライブラリ(doxygenコメント化されていない)
の中のあるクラスを継承しているクラスであった場合、
継承関係がグラフ化されなくなってしまうからです。
かといってこのままでは実装用のクラスまでも
HTMLドキュメントに出て来てしまうのが
ちょっと気持ち悪いので、悩んでおります。

307 :
>>306
doxyfile で
PREDEFINED = NO_DOXYGEN
としておいて、ヘッダの方で
#ifndef NO_DOXYGEN
実装用クラス
#endif
とか私はやってます。

308 :
>>307
ありがとうございます。
そんな方法があったんですね。

309 :
>>308
後で見返してよく考えたら「NO_DOXYGEN」だと意味逆でしたね。
まあそれはともかく、この方法を使うと、
たとえば利用者マニュアル用 doxyfile と
内部開発者用 doxyfile とかを使い分けて
(それぞれ別々の PREDEFINED を設定しておく)、
コード内では #ifndef を使ってマニュアルに出したいものを制御
なんてこともできます。

310 :
>>309
なるほど、深いですね。
面白そうです。
ありがとうございます。

311 :
#ifndef DOXYGEN
実装用クラス
#endif
としてみましたが、
クラス一覧に相変わらず実装用クラスが出力されます。
 doxygen 1.6.1, Windows XP SP2
Doxyfileは
 ttp://loda.jp/uploader_nrnrnr/?id=11
です。
恐れ入りますが、>>307さんのdoxygenのバージョンはいくらでしょうか?

312 :
ちなみにちゃんと
#ifndef DOXYGEN
になっています。
#ifdef DOXYGEN
だったりはしません。
よろしくお願いいたします。

313 :
>>311-312
doxyfile 拝見しました。
1312 行目の EXPAND_AS_DEFINED の方にマクロ名が記述されて
いるようなんですが、これを 1305 行目の PREDEFINED の方に
記述して試してもらえますか?
ちなみに、私が使用している環境は 1.6.1 で
OS は主に Mac OS X と FreeBSD です。
(一昨日くらいまで 1.5.9 使ってましたけど。)
あ、でも doxyfile は 1.5.8 の時につくったものでした。

314 :
>>312
お前、馬鹿だろw
>307を読めば判ることで何とち狂ってるんだか。

315 :
>>313
申し訳ございません。
ご指摘の通り大変みっともない間違いをしでかしており、
恥ずかしいかぎりです。
うまく動きました。
ありがとうございました。

316 :
ttp://codepad.org/ACEXhsw8
これをdoxygenに食わせると、
クラス->構成のところで
 exception
 NS::hoge
となります。
 画像:ttp://imagepot.net/image/125324281122.jpg
つまり何故かstd::が出力されません。
(解説本文にはstd::が出力されるのですが。)
これを
 std::exception
 NS::hoge
と表示させたいのですが、何か方法はありますでしょうか?
よろしくお願いいたします。

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

318 :
doxygen 1.5.8を使っているんだけど、例えばstd::vector<std::vector<int>>が通らないのね。
きちんと> >にしないといけないらしい。

319 :
>>318
C++はC++0xになるまではそうでしょ?
コメント文でもそうだってことかい?

320 :
>>319
いやいや、会社でほたえちょる阿呆がおったからソースを見たら、>>で書いていたってことで。
それで気づいたんだが、VC++はエラーにしてくれないんだね。

321 :
>>320
そうなのか。
まあどうせC++0xでは認められるんだから
VC++もエラーじゃなくていいんじゃね。


322 :
ttp://www.doxygen.jp/grouping.html#memgroup
これで生成した
ttp://www.stack.nl/~dimitri/doxygen/examples/memgrp/html/class_test.html
ですが、
今のdoxygen 1.6.1で実行しますと
 Public Member Functions

 Group2
等のグループ名が改行の余白無く上にくっついて表示されませんか?
ttp://www.doxygen.jp/grouping.html#memgroupに限らず任意のファイルを
htmlにしても起こると思うのですが、皆様はどうでしょうか?

323 :
>>322
私の方でも同じ現象が出てます。
自分の書き方が悪いのかもと思いつつ、
ほとんど追求してませんでしたけど。

324 :
>>323
ありがとうございます。
私は同じsourceで
Doxygen1.5.9→1.6.1のアップグレードで症状が発生したため、おそらく仕様変更に伴う不具合だと思っています。
じき直ると期待しています。

325 :
> BUILTIN_STL_SUPPORTオプションをオンにしない限り、doxygen は STL クラス
を認識しません。
> STLクラス (std::string, std::vector など) を使っていても、STLソース (そ
のタグファイル) を入力としてインクルードしたくない場合は、このタグを YES
にしてください。 するとdoxygenは、STLクラスを引数に含む関数宣言と定義 (た
とえば、func(std::string); と func(std::string) {}) をマッチングします。
また、STLクラスを含む継承・コラボレーション図をより完璧で正確にすることも
できます。
といった説明がDoxygen日本語マニュアルにあるのですが、いまひとつ意味がわか
りません。
要するにBUILTIN_STL_SUPPORTはデフォルトでYESにしてしまえば良いわけでしょうか?
それとも何がデメリットがあるのでしょうか?

326 :
>>325
Doxywizard で、 BUILTIN_STL_SUPPORT にカーソルを持っていったときに
表示される説明は、もう少し分かりやすいです。
STL のクラスを使ってるけど STL のソースをインクルードしたくない場合に
YESにするようにと書いてます。
ファイルの読み込みを抑えたいような場合でしょうか。
逆に処理系付属のヘッダも読み込む設定にしていて、 BUILTIN_STL_SUPPORT も
YES にすると、二重定義のような状況になるんじゃないかと思います。

327 :
>>326
ありがとうございます。
ちなみに
Yahoo!検索 - BUILTIN_STL_SUPPORT
ttp://search.yahoo.co.jp/search?p=BUILTIN_STL_SUPPORT&search_x=1&tid=top_ga1_sa&ei=UTF-8&pstart=1&fr=top_ga1_sa&b=11&qrw=0
こんな感じになりました。
どうやら大半の方がデフォルト値のNOにしているようです。

328 :
どなたか>>316の解決策をご教示いただける有識者はいらっしゃいませんでしょうか?
どうかよろしくお願い申し上げます。

329 :
>>316
その参照してるだけで定義の無いexceptionをエントリとして出せるオプションがあるの?

330 :
>>329
HIDEUNDOCMEMBERSをNoにして、出力させるとこうなりました。

331 :
>>329
EXTRACT_ALL は NO
HIDE_UNDOC_MEMBERS は YES
HIDE_UNDOC_CLASSES は NO
でした。


332 :
/** \page hojodocs 補助ドキュメント
*/
としますと
ttp://uploader.rgr.jp/src/up1067.gif
の様に
「メインページ」「クラス」「ファイル」というタブと並んで「関連ページ」というタブが出来て
その中に補助ドキュメントというページが出来ます。
これを
「メインページ」「クラス」「ファイル」というタブと並んで「補助ドキュメント」というタブが
出来るようにする方法はありませんでしょうか?
単純に/pageを何か適当な物に変えれば良いのではないかと探ってみたのですが
どうしても分かりませんでした。
よろしくお願いします。

333 :
>>331 うちではexceptionクラスそのものが出なかった。

334 :
>>333
左様でございましたか。失礼いたしました。
私の環境は
 doxygen 1.6.1, Windows XP SP2
で, Doxyfile, hoge.h, 成果物htmlは
 ttp://loda.jp/uploader_nrnrnr/?id=15
です。
お手数おかけ致しますが、こちらでいかがでしょうか?

335 :
>>304-315
今更だけど、別の方法があったので。
@cond と @endcond で囲んだ範囲は、
@cond につけたラベルを ENABLED_SECTIONS に含めるかどうかで、
ドキュメント化するかどうかを設定できるようです。

336 :
>>335
こりゃいいやと試してみた。
@condと@endcondは独立したコメントブロックにないと巧く認識しないみたいで、ちょっと悩んだ。
# つまり、前後の空行を詰めるとダメっぽい。
それと、処理させないだけならセクションラベルは要らないのだけれどundocumentedにしたのは深謀遠慮。
--
/// \file foo.h
///
/// \cond undocumented
/// \brief Dummy.
/// あーだこーだ
class dummy {
public:
dummy() {}
};
/// \endcond
/// \brief Foo.
/// どーでこーで
class foo {
public:
foo() {}
};
--
# どうでもいいけど、JAVADOC_AUTOBRIEFはyesなので念の為。

337 :
ありがとうございます。
プリプロセッサを使った方法はエディタで対応する最初と最後をすぐ見つけらられるという利点がありますが、
@condと@endcondを使った方法はコメントだけで解決する->ソースに手を加えてはいないという点が利点ですね。


338 :
Windowsでいろんなコンパイラに対応できるライブラリを書いてるんだけど,VC++だと
クラスのコンストラクタには呼び出し規約 __fastcall が使えないので,ヘッダファイルに
以下のような定義を書きました(コンストラクタの先頭に書いておくために)。
#if defined(_MSC_VER) //VC++の場合空文字
#define __FASTCALL
#elif //その他のコンパイラの場合は__fastcall
#define __FASTCALL __fastcall
#endif
これをDoxygen(1.6.1)でドキュメント化するとき,_MSC_VERが定義されている時と定義されていない
時の説明が両方出るようにしようと思って,いろいろやってみたけどうまく行きません。
上の例はDoxygen用のコメント付けはしていませんが,Doxyfileで PREDEFINEDに_MSC_VER と
!_MSC_VER の両方を書いておくと,両方の #define__FASTCALL がドキュメント化されるところまでは
良かったのですが,行末に ///> で異なる説明を書いても両方の説明に同じものが(マージされて)
出てきてしまいます。
良い方法があったら教えてください。

339 :
>>338
ちょっと間違い。上の例で #else のところが #elif になってしまっているので
修正したら,_MSC_VER と !MSC_VER を両方 PREDEFINED に書いておく
という手は使えませんでした。結局 PREDEFINED にどう書くかで,
片方のドキュメントしか作成されません。

340 :
>>339
PREDEFINEDでできませんか?
つまり
PREDEFINED = DOXYGEN_SHOULD_SKIP_THIS
とすれば
#ifndef DOXYGEN_SHOULD_SKIP_THIS
#if defined(_MSC_VER) //VC++の場合空文字
#define __FASTCALL
#elif //その他のコンパイラの場合は__fastcall
#define __FASTCALL __fastcall
#endif
#elif /* DOXYGEN_SHOULD_SKIP_THIS */
/*! 説明を入れる。
*/
#define __FASTCALL
#endif /* DOXYGEN_SHOULD_SKIP_THIS */


341 :
>>340
さすがに両方の説明を個別に表示することは出来ませんが,それで事足りますね。
ありがとうございました。
この方法使うと,Doxygenがスキップしない部分には,
#define __FASTCALL "" or __fastcall
とかメチャクチャ書けますねw

342 :
>>338
/// @def __FASTCALL
/// ここに両方の場合の説明を書けばいいんじゃないの?

343 :
__FASTCALL は C++ では予約識別子だな。やめといたほうがいいぞ。

344 :
確かに。
予約されているから規格的に言えば未定義の動作になるな。

345 :
>>342
それだけだと,#define __FASTCALL あるいは #define __FASTCALL __fastcall のどちらかしか
ドキュメント化されないので...>>340の方法だと,>>341のようにコンパイラでコンパイルされると
困るようなメチャクチャな説明をドキュメント化できるのでわかりやすい。
理想的には,
#define __FASTCALL
      VC++ではコンストラクタに__fastcallが使えないので空文字として定義される
#define __FASTCALL __fastcall
      VC++以外では__fastcallとして定義される
みたいにドキュメント化されるといいんだけど,難しそうなので>>341に書いたように
#define __FASTCALL (null string) or __fastcall
      VC++ではコンストラクタに__fastcallが使えないので空文字として定義される。VC++以外では__fastcallとして定義される。
のようにドキュメント化されれば実用上は問題ないと思う。

>>343
大文字の方も予約されてるとは知らなかった。ありがと〜。

346 :
>>345
メチャクチャな説明がわかりやすいとか、おかしなことを言うね。
実用上問題なければ奇怪な書き方しないほうがいいだろうと思うし。

347 :
>>346
別にメチャクチャはまあ言葉のあやなんじゃないですかね。
オフィシャルでも
ttp://www.stack.nl/~dimitri/doxygen/
> You can even `abuse' doxygen for creating normal documentation (as I did for this manual).
と言っているぐらいですし
多少の奇怪な書き方は許容範囲では?
タダの宗教論争になってしまいますが。

348 :
>>347
それを指摘するのは無粋。つーか、間抜け。

349 :
>>347
許容範囲なんだろうけど、ここでは奇怪な書き方をする必要がない、という話。

350 :
>3
ttp://stackoverflow.com/questions/165451/suggest-a-good-doxygen-stylesheet
なさそうだね

351 :
寧ろ、doxygen.cssをカスタマイズしている人には紹介してほしいなぁ。
ソースを公開しろとまでは言わないから。
後は、こんなのが欲しいなんてリクエストでもあれば創造意欲が沸くかも知れない。

352 :
しかしデフォルトのにしておかないと
将来のバージョンアップに毎回追随するのが
結構つらくなるのではと予感。

353 :
バージョンアップでかっこよくなったりするし

354 :
ttp://www.doxygen.jp/manual.html
このサイト死んだね。

355 :
う、うん……(´・ω・`)

356 :
>>354
生き返った。
良かった良かった。

357 :
privateなメンバのうち、(純粋)仮想関数だけをドキュメントに出力する方法ってないものでしょうか
EXTRACT_PRIVATE = YESとすると、見せたくないprivate変数や非仮想関数まで出てきてしまうのがイヤで・・・

358 :
>>357
そんな状況いままで無かったからな。
初めて考えてみる。
>>340が書いた方式を駆使して
どうにかできそうな気もするが良いアイディアが浮かばない。


359 :
Doxygen 1.6.1 をソースパッケージから VC8 でビルドしようとしたのですが src/translator_*.h
が言語毎にいろいろなエンコーディングで保存されていて文字列リテラルの部分でエラーが大量発生する
(おそらく多バイト文字に '\' や '"' が含まれる) のですが、Windows でビルドするときは特別な
手続きがいるのでしょうか?

360 :
クラスメソッドの詳細の、“コンストラクタ・デストラクタ”のセクションに
デストラクタが入らないのはdoxygenのバグだよね?
あと、@nameコマンドで1つのクラスに同じ名前のメンバグループを
複数作った場合、それぞれが別のグループとして吐き出されるのは仕様?
あ、どっちも1.6.1の話ね

361 :
>>360
> クラスメソッドの詳細の、“コンストラクタ・デストラクタ”のセクションに
> デストラクタが入らないのはdoxygenのバグだよね?
マジで?
試してくる。

362 :
>>360
Version 1.6.1 にて出力されたぞ。
出力されないソースないしヘッダの例をうpしてくれれば確かめるけど?

363 :
>>362
ソースはマニュアル内のこのページ(ttp://www.doxygen.jp/docblocks.html)の
サンプルをそのまま使用
本体のバグでないならヘッダの問題かと思い、いろいろ試してみた結果、
INPUT_ENCODING=Shift_JISにした時に問題が起きた(CP932なら問題無し)
ちなみに、出力されないわけじゃなくて、通常の関数と同じセクションに
デストラクタが入ってる
デストラクタ名がチルダでなくオーバーバーで表示されてたので、
doxygenがデストラクタと認識してくれないのが原因か?

364 :
>>363
CP932
にしろってオフィシャルでどっかに書いてあったような気がする。
> デストラクタ名がチルダでなくオーバーバーで表示されてたので、
> doxygenがデストラクタと認識してくれないのが原因か?
その可能性が高そうだ。


365 :
このQtのマニュアルみたいなのを作りたいのですがdoxygenで作れますか。
http://www.kde.gr.jp/~ichi/qt-2.3.2/annotated.html


366 :
>>365
似たようなことはできると思いますが、一致度は保証できません。
TradeMarkとやらで作ったようなことが書かれているので、それでは如何ですか?

367 :
>>365-366
Qtのマニュアルは開発元内製の非公開のツールで作られているそうです。
doxygenが作られたのもそれが理由だそうで。
ttp://lists.trolltech.com/qt-interest/2007-07/thread00457-0.html

368 :
素敵なcssがほしい。

369 :
EXTRACT_PRIVATE = NO の設定で一部の private 関数を文書化する方法はあるでしょうか?
やりたいことは、ある基底クラスに private の仮想関数を定義して (派生クラスでその仮想関数
をオーバーライドするユーザーのために) その関数の仕様を Doxygen で出力することです。

370 :
>>369
ちょっと汚いソースになる気もするが、
>>340と同じようにして
Doxygen上にだけprivateをpublicにしちゃえば?

371 :
ttp://uploader.rgr.jp/src/up1598.png
このように、ソース中の'が'と表示されてしまうんですが、
対策をご存じの方いらっしゃいますか?
また、他の方がたはこの問題が再現しますか?
サンプルソースは
 ttp://uproda.2ch-library.com/lib200801.zip.shtml
 DLキーはdoxygen
です。
ここのget_widechar.hをDoxygenにかけてhtmlを出力させると
上述の画像のようになります。

372 :
html4ではなくxml1の読めるブラウザを使えばいいんでない?
# 根本は解決していないけど。
例えば、IE6がこれに該当するからIE8を入れるとか。
どうしても根本的に解決したいなら、ソースを修正するとか出力を加工するとか。
つーか、手元のソースとDoxygenでは再現しないしzipをダウンロードするのは嫌なんだけど、
再現できる状態でここに貼れる程度に短くできない? それと、Doxygenのバージョンも宜しく。

373 :
>>372
確かにIE6で見ていたらだめでしたが、
Firefoxなら正しく表示されました。
ソースは
ttp://codepad.org/7giB9nil
で、Doxygenは1.6.1です。
設定は
DOXYFILE_ENCODING = CP932
OUTPUT_LANGUAGE = Japanese
このぐらいです。

374 :
手元の1.5.9じゃ再現できないや。1.6.1持ちか詳しい人待ちだな。

375 :
>>374
意外に1.5.9って1.6.1より動作安定してたりしますよね。
ちなみに画像
ttp://uploader.rgr.jp/src/up1598.png
を出力したhtmlファイル(の一部)は
 ttp://codepad.org/OijY25xj
こんな感じで、この中にある
 '
となっている部分を単純に
 '
に置換してしまえば
IE6, Firefoxともに問題無く表示出来る様です。
・・・ってこんな対策でいいのでしょうか?
'を単純に'に置換してしまってまずい場合とかありますでしょうか?

376 :
html4.01にはaposがないんだからしょうがないんじゃない?

377 :
>>376
俺のところのIE6ってそんな準拠性の悪いクソブラウザだったんですか。
噂には聞いていたんですがねぇ。
ありがとうございました。

378 :
Doxygen 1.6.2 age

379 :
>>378
まぢすか
入れてきます!

380 :
仕様 変わりすぎだよチクショー!!!!!

381 :
doxygen.css
の仕様が変わりすぎでございますorz
バージョンが0.01違いなのに、こんなに変わるものだとは。
Doxygenって後方互換性という言葉には興味ないの?

382 :
俺以外に
Doxygen 1.6.2
を使ってる人 居ないの?
なんだか、
 1. C++0xが公式仕様策定されて
 2. ちゃんと各種コンパイラで実装されて
 3. 現実的にC++0xを使っても大丈夫だと思うくらいになって
 4. Doxygen がC++0xに対応完了
このくらいの条件を満たさないかぎり、別にアップデートしなくてもいい気がしてきた。
ブラウザとか中核ソフトとは違ってセキュリティもクソもない・・・しね?

383 :
>>382
まだ正月休み明けでみなさん忙しいのでは。
私も先ほどようやく試してみたところ。
ざっと見た感じだと、1.6.1 と比べると
>>322 で指摘されていた不具合とか、
friend関数のマニュアルを無視するバグが直ってたりして、
概ね好印象ですね。

384 :
>>383
ありがとうございます。
そうですか。
>>324->>324は気付きませんでした。
じゃあやっぱ1.6.2で同じように作れるように自分でどうにか工夫するのが良い
って感じですかね。(私の主体性0)


385 :
ちなみに
 Doxyfile 1.6.1 デフォルト
 ttp://codepad.org/olhvPmWM
 Doxyfile 1.6.2 デフォルト
 ttp://codepad.org/wA3SWMYO

386 :
1.6.2に更新したら、pageコマンドから作られたhtmlにタイトルが出力されなくなった…
似たような症状の人いる?

387 :
>>386
おお!
俺も!俺も!
どうすりゃいいんだろうorz

388 :
>>386-387
pageに付ける名前に英数字以外(下線とか)を含まないように、
というようなことがMLに書かれてました。

389 :
まじか!
>>388
ありがとうございます。
感謝です。。。

390 :
>>388
トンクス!表示されたぜ!
ML見てきたんだが、
>ドキュメントにアンダーバー不許可と明示されてはいないけど、
>名前は英文字と数字の組み合わせからなる、とは書かれていて、
>そこにアンダーバーは含まれていないでしょ。
みたいな返答だった。
でも以前は使えてたわけだし、@page以外のタグは問題ないし、
ドキュメントが更新された形跡もないし、やっぱなんかバグっぽいよね。

391 :
>>390
このまま待機で、いつの間にか
(次のverで)修正されるんじゃないかなぁ?
次のverっていつでるんだ。。。

392 :
>>391
Bugzilla 見たら、次のバージョンで修正されることになってました。
私も別のバグで次のバージョン待ちです…

393 :
Doxygen Release 1.6.2  (release date 30-12-2009)
Doxygen Release 1.6.1  (release date 25-08-2009)
Doxygen Release 1.6.0  (release date 20-08-2009)
Doxygen Release 1.5.9  (release date 30-04-2009)
Doxygen Release 1.5.8  (release date 27-12-2008)
Doxygen Release 1.5.7.1 (release date 5-10-2008)
Doxygen Release 1.5.7  (release date 28-9-2008)
Doxygen Release 1.5.6  (release date 18-5-2008)
Doxygen Release 1.5.5  (release date 10-2-2008)
Doxygen Release 1.5.4  (release date 27-10-2007)
Doxygen Release 1.5.3  (release date 27-7-2007)
Doxygen Release 1.5.2  (release date 4-4-2007)
Doxygen Release 1.5.1  (release date 29-10-2006)
Doxygen Release 1.5.0  (release date 16-10-2006)
Doxygen Release 1.4.7  (release date 11-06-2006)

394 :
ということで、次にリリースされるのは
4月終わりごろと推測されます。
うわぁ、待ってられないよ。
・・・
> Doxygen Release 1.6.1  (release date 25-08-2009)
> Doxygen Release 1.6.0  (release date 20-08-2009)
見たいに短い間隔のリリースもあるっちゃあるんだが、
すでにDoxygen Release 1.6.2リリースから1ヶ月たっても
新しい版がでていないしなぁ。
>>388氏の解決策に乗っかろうかなぁ。。。

395 :
<報告>
英数字どころか、小文字じゃないとダメみたいです。
AbCdE
とかはだめで、
abcde
ならOKのようです。

396 :
死亡回避age

397 :
Doxygen Release 1.6.2 + WinXPです。
ttp://codepad.org/UOnh6aUc
これを出力させると
ttp://uploader.rgr.jp/src/up1961.jpg
このように、inlineでもないのに勝手にinlineになります。
なお、
ttp://codepad.org/iT6VHAtw
のように、テンプレートでなければ勝手にinlineにはならないようです。
ttp://uploader.rgr.jp/src/up1962.jpg
同じ症状の方いらっしゃいますか?

398 :
あと、もし古いバージョンで試してくださる方がいらっしゃったら
是非結果を教えてください。
よろしくお願い申し上げます。

399 :
Graphviz - Graph Visualization Software
が最新版でました!version 2.26.3 になりました。
・・・そしてインストールしたらエラーになったので、
同じ症状で悩んでいる方がもしいらしたら参考にしてください。
解決策のリンク
ttp://old.nabble.com/Dot-problems-td15185555.html

************************************************************************
Oren Almog wrote:
I am using the windows version. Doxygen seems to work fine but I repeatedly
get errors when it calls dot to generate call graphs (or any other graphs).
c0f5d09662a9af0a3f709cb57d6841_cgraph.dot" -Tpng -o
"ex__cmds_8c_abc0f5d09662a9af0a3f709cb57d6841_cgraph.png"'
Problems running dot: exit code=-1, command='dot',
Dot is in my PATH. To be sure I tried to create the graph manually my going
to the directory and calling dot with the same parameters, I get a message
about a missing font and that file will look ugly but the png is generated
with no further input required from me.
Any ideas?
************************************************************************
biljana wrote:
You have to install Graphviz and set the DOT_PATH to the Graphviz/bin folder. Also you should set HAVE_DOT to YES.


400 :
Doxygen 1.6.3 age

401 :
>>400
ktkr
使います

402 :
>>397のバグですが、
Doxygen 1.6.3 で直っていないようです。
バグ報告しないと直らないんですかねぇ。
どこからバグ報告すればいいやら。

403 :
Doxygen 1.6.3 で
@pageで生成したページのタイトルが付かないバグ
は、解決しているようですね。

404 :
WinXP version1.6.3で、S-JISのファイルを変換したいのですが、設定ファイルを
INPUT_ENCODING = CP932
と設定した場合は、
Error: failed to translate characters from CP932 to UTF-8: check INPUT_ENCODING
とエラーがでます。
INPUT_ENCODING = SHIFT_JIS
とした場合は
Error: failed to translate characters from SHIFT_JIS to UTF-8: check INPUT_ENCODING
とエラーがでます。
DOXYFILE_ENCODING = SHIFT_JIS
として、
PROJECT_NAMEに日本語を設定したら反映されます。
何か他に設定する必要があるのでしょうか?

405 :
>>404
INPUT_ENCODING はソースファイルのエンコーディングの設定で、
DOXYFILE_ENCODING は設定ファイル自身のエンコーディングの設定です。
> WinXP version1.6.3で、S-JISのファイルを変換したいのですが、
のS-JISのファイルというのは設定ファイルじゃなくソースファイルのことですか?
だったら、 INPUT_ENCODING = CP932 で合ってるはずなんですが。
S-JISのつもりで実はUnicodeだったなんてことはないですか?
> DOXYFILE_ENCODING = SHIFT_JIS
> として、
> PROJECT_NAMEに日本語を設定したら反映されます。
設定ファイルはDoxywizardを使わないで、テキストエディタで書き換えてるんですか?
Doxywizardだと DOXYFILE_ENCODING は UTF-8 にしないと正しく動作しないはずなので。

406 :
>>405
ソースファイルを確認したところ、
新規に追加したものはSHIFT_JISだったのですが、
もともとあったソースは中国語のソースで、文字コードが"繁体字中国語"というもののようで、
このファイルを解析する時に、SHIFT_JISでないということで、エラーになるようです。
ありがとうございました。

407 :
中国語か。
最近ちらほら見かける。

408 :
こんなの作ってみた。良かったら使ってみて。
つ ttp://sourceforge.jp/projects/sfnet_doxygemplate/
  ttp://sourceforge.net/projects/doxygemplate/
今のところWindows専用だけど,Qtで作ってるのでLinuxでもビルドできるはず。
俺はWindowsオンリーなので,誰か手伝ってくれると助かるんだけど...

409 :
>>408
ほー。そういう着眼点か。
そのdoxygemplateなら、
WindowsビルドしかなくてもLinuxでもWineを使えば普通に動きそうだ。


410 :
どげなもんなのか、簡単に解説頼む。

411 :
>>409
レスサンクス。
> WindowsビルドしかなくてもLinuxでもWineを使えば普通に動きそうだ。
Linuxのことは知らないのでググってみtけど面白そう。
タスクトレイもちゃんと使えるの?

>>410
使い方を簡単に言うと、
・起動するとタスクトレイに常駐する。
・エディタで編集中のC/C++のソースの関数宣言(.hでの定義部でも.cや.cppの実装部
 でもOK)をクリップボードにコピーする。宣言の頭から、引数リストの閉じカッコまでが
 入ってればOK。それ以降は入っていても構わないが無視される。
・タスクトレイのアイコンを右クリックして「テンプレート編集」を選ぶと、編集画面が
 現れる。この段階で既に関数の引数やリターン値を解析して、retval コマンド
 とリターン値の型や、param コマンドと引数名が作成されている。
 この画面で param コマンドの[in]⇔[out]⇔[in,out]を切り替えたり、
 行の削除/追加や、details など幾つかのコマンドの追加が出来る。
・編集が終わったら「クリップボード保存」を押すと編集した内容が
 クリップボードにコピーされ、編集画面が閉じる。
・テキストエディタで関数宣言の上にクリップボードから作成されたテンプレートを
 ペーストする。
こんな感じ。

412 :
>>411
なるほど、面白そうじゃん。エディタのマクロと巧く連携できればそこそこシームレスに編集できそうだ。

413 :
>>411
> タスクトレイもちゃんと使えるの?
俺もそんなにデスクトップLinuxを使い込んでいる訳じゃ無いので、
ごめん、わかんないわ。
タスクトレイに相当するとこも使えそうな気がするけど、
もしダメでもまあLinuxユーザーならソースだけおいとけば
自分でビルドする人が多いだろうしいいんでね?

414 :
C言語、UTF-8、日本語コメントあり

doxygen 1.6.3
W32TeX (texinst2010.zip)
でpdf出力のためにLaTeXで出力させてみたんですが
epsの出力で
Generating caller graph for function XXXXXXXX
epstopdf ($Id: epstopdf.pl 17507 2010-03-19 22:52:56Z karl $) 2.15
!!! Error: Writing to gs failed, signal 127
ってなります回避する方法はあるのでしょうか?

415 :
>>397のバグですが、
Doxygen 1.6.3 で直っていないようでしたので報告しました。
Bug 612858 ? Doxygen takes a NON-INLINE template function for INLINE one mistakenly.
ttps://bugzilla.gnome.org/show_bug.cgi
直してくれるそうです。
やったー!!

416 :
死亡回避sage

417 :
Doxygen 1.7.0 age

418 :
Doxygen 1.7.1 age

419 :
>>408
面白いですね。
個人的にはタスクトレイに常駐するより、
Alt + tab で切り替えられる方が使いやすい気がしますが、
どうなんでしょう?
Linuxでどうするの?って問題も無くなると思いますし。
ちなみにemacsユーザーの人は
doxymacs使ってるよね?

420 :
>>418
昨日1.7.0インストールしたばかり(ToT)

421 :
>>419
レスありがとうございます。
> 個人的にはタスクトレイに常駐するより、
> Alt + tab で切り替えられる方が使いやすい気がしますが、
> どうなんでしょう?
なるほど,それはいいかも知れません。
Linuxは使わないので知らないんですが,Linuxでもアプリケーションの切り替え
はAlt + tabなんですか? 別にそうでなくても問題はないんですが。
実は最初はWIN32 APIを使って指定キー(Ctrl または Shift または Alt)の指定
回数連打でアクティブになるようにしてたんですが,これだとWindows専用に
なってしまうのでやめたんです。でもやはりキーボードで操作できた方が
いいですよね。
他の操作もキーボードでできるようにするなど,まだ改良点がありますし,
Alt + tabでアクティブになったときにクリップボードから関数の宣言部分を
取り出して処理するとなると,全体の構成も考え直さなければならないので,
少し時間が必要だと思いますが,やってみたいと思います。
ありがとうございました。

422 :
>>421
「こんなの」がどんなのか判らないから試してみる気にもなれないのだが。
せめて、どんなのか書いてくれ。

423 :
>>422
>>411に書いたんですが。あと>>408のリンク先のスクリーンショットを見て
いただくと雰囲気がわかるかも知れません。

424 :
だからさぁ、なんでだらだら説明することしかできないの?

425 :
あんたこそダラダラ聞いてないで、とっとと使ってみりゃいーじゃん。
売り物じゃないんだから、>>423だってそうまで言われて使って欲しいとは思わんだろ。

426 :
>>424
機能の全容をまあまあ簡潔に説明されてるのに、それすら読まずにわざわざ文句書くのは引くわ。

427 :
頭おかしいやつに関わるなよ。

428 :
一番エラーとかなく安定してるのって1.5.5?

429 :
>>428
もっと新しいのでもいいんでない? 私のところでは1.5.8で止まっているけど。

430 :
俺は毎回新しいのにしてるよ。
これから先 更新されていくにあたり、
あんまり最新から離れていると
一気に対応しなきゃならなくなっちゃってめんどくさいから。

431 :
genのHPでバージョン使用アンケートとか実施するべきだよな
バージョンあげても劣化することが多いなら、良いベースから作った方がいい
イタチごっこになりかねん

432 :
いつの間にかスタイルシートが新しくなってるじゃないか

433 :
pythonのソースってFilesに表れる? RHEL5に乗ってる
1.4.7を使ってるんだけど現れない。 クラスは現れるんだけど。
最新を野良ビルドしようと思ったけど依存関係は深いなあ。

434 :
>>433
公式の使用例だと、pythonの場合は@fileじゃなくて@package使ってるみたいだけど。

435 :
>>434
ヒントサンクス。 なるほど、そうするとNamespaceの方に現れますね。 
defgroupとかは全然認識してくれないのにそれだけは効きます。
まあ、それでお茶を濁しますか。 

436 :
既存のソースをdoxy化しようとしてるんだけど、全てのヘッダーに長いライセンス事項が
書かれてるので、@fileなんかをそのヘッダ上に追加するとファイルの説明にそれが全て
追加されるのが鬱陶しい。 これを隠す方法は何があるでしょう? とりあえず、
/**
@file hoge.c
doxygen 用のコメント
*/
/*
既存のヘッダーはこっちに隔離
*/
ってしてるんですけど、もっといい方法があるなら知りたいです。

437 :
>>436
そのやり方でいいんじゃないか?

438 :
まっ、いいか。
しかしdoxygenいいねえ。 今のプロジェクトでドキュメントの無い、コメントの殆どない
ライブラリを使わなくてはならないのだが、ソースを読みながら解析して理解した事はどんどん
コメントに書き加えていき、doxygenを通すと立派なドキュメントが出来上がっていく。 
ライブラリ内の論理構造からいくつかのグループに分け、中心となるファイルのコメントの中で
@defgroupし、関連するファイルは@ingroupでそのグループにまとめる。 @defgroupした
コメントの中ではそのグループの中での主要なコンポーネントを解説。 解説の中で引用する
ファイル名とかクラス名(HogeClass::)、メンバー名等(HogeClass::hogeMemember)の参照は
全て自動的にリンクになるからそのままソースのナビゲーションが出来る。 
最後に@mainpageを作ってこれらのグループ間の関連をメモし、@refでそれぞれのグループに
リンクを張って出来上がり。
ソースを読んで自分なりにメモを作ったり、wikiにまとめたりとかは過去にしたけど、これは
ソースに完全に統合されているので資産として生きながらえると期待する。 


439 :
どっかにDoxygenで生成できる旨をコメントしておくことをお勧め。
でないと、Doxygenで生成されたhtmlを編集しようとする馬鹿が出てきかねない。

440 :
generated by doxygenってロゴがあるじゃないかー!

441 :
graphiz 2.26.3使ってグラフ出力してるんだけど、画像にパスが格納されちゃうんだ
誰かクラス名もしくはファイル名だけ出力出来る方法知らない?
doxyのバージョンによるのかな

442 :
#ifdefで囲った部分が無視されるんですが、こういう場合はどうしたらいいんでしょう?
#ifdef HOGE_VER
//! 特定の場合専用の関数
void Hoge();
#endif

443 :
DoxyfileでDEFINEできるから、そこでHOGE_VERをDEFINEすれば宜しいかと。

444 :
ありがとうございます。PREDEFINEてところに書いたらできました。

445 :
PREDEFINED = DOXYGEN_SHOULD_SKIP_THIS
とすれば
#ifndef DOXYGEN_SHOULD_SKIP_THIS
Doxygenに無視させたいコード
#endif /* DOXYGEN_SHOULD_SKIP_THIS */
こんなふうに使えます。

446 :
1.7.2 キタ

447 :
Graphvizの話ってここでしてもいいすかね。
専用スレが見当たらないんだが

448 :
Doxygenで使う限りにおいてはOKじゃね?

449 :
>>447
doxygenに絡まないならこの辺で。
スレ立てるまでもない質問はここで 108匹目
http://hibari.2ch.sc/test/read.cgi/tech/1287477677/
私も興味あるから是非。

450 :
まったく絡まないので、あとでスレ立てするわ
昔はGraphvixのスレあったみたいだし、続きってことにする

451 :
Graphvixについて答えられる有識者はいるんだろうか。

452 :
うむ。寡聞にしてGraphvixなるものは与り知らないな。

453 :
vixじゃなくてvizだよ!わざとだよ!ついだよ!

454 :
Graphvizって言えば、同じrankにあるnodeの位置関係のヒントって与えられないかな。
doxygenからの出力でも、関数ツリーの上下がある程度同じになってくれると助かるんだけど。
例えば、
main->a->b
    ->c-^

    ->c-v
main->a->b
になったりしないように。

455 :
>>454
Graphviz(というかdotエンジン)単体なら、group属性を指定しておけばある程度は制御できる。
doxygenからは(事実上)無理。関数ツリーの上下が変わるのって下請け関数の影響が大きいから
レベルを指定して下請けまで展開しないようにするってのも手。まぁ、どうしてもってことなら自作するしかw

456 :
派生クラスで仮想関数を再定義した場合、派生クラスのメンバー一覧にこの関数が表示されますが、
これを非表示にするにはどうすればいいでしょうか?
数が多く基底クラスで表示してくれれば充分です。

457 :
・仮想関数がprivateならDoxyfileでprivateなメンバ関数は出力しない設定にする
・#ifndefで括って、Doxyfileでそのマクロを定義する
・他の出力したい関数にDoxygenコメントが必ずあるなら、Doxygenコメントのない関数は出力しない設定にする

458 :
3番目の方法で出来ました。ありがとうございました。
HIDE_UNDOC_MEMBERS = YES
ドキュメントづけは全部やるのでこれで大丈夫です。

459 :
doxygenで内部用と外部用のドキュメントの2種類を作りたいのですがどうのうな形にするのが
いいですか。
とりあえず全部ドキュメントを書いておいて外部用の場合は
非公式なクラス、関数を隠したいのですが、どうすればいいのやら。

460 :
>>459
>>340の応用で
PREDEFINED = DOXYGEN_SHOULD_SKIP_THIS
とかにすれば。
これを内部用と外部用のマクロにすればおk!

461 :
いや、まず @internal の使用を検討する方が先だろう。

462 :
>>461
@internal でいけました。
探していたのはこれです。有難うございました。

463 :
hosh

464 :
明けましておめでとうございます。
hosho

465 :
1.7.3 が出ました

466 :
バグが2つ取れて新たに1つ入るんだよなこれって。

467 :
C++で多重継承していた場合、一番最後に指定したクラスのオーバーライド関数しか「〜を実装しています。」が出ないな。
例えば、
class BasicActor : public Actor, public IEventListener
{
だとActorの方の仮想関数をオーバーライドしても「〜を実装しています」が表示されない。
ActorとIEventListenerの順番を入れ替えると逆の方のクラスの関数の「〜を実装しています」が表示されない。
早く治るといいなあ。

468 :
doxygen凄く便利そうだな!だけどRTF出力がうまくいかね…。
一応>>138のバイナリとdoxywizard(1.7.3)で試してるんだが、
OUTPUT_LANGUAGE=Japanese
INPUT_ENCODING=CP932
以外に何か設定って必要なのか?
もし良かったらだれかDoxyfileをうpしてくれると凄く助かるわ…。

469 :
>>468
OUTPUT_LANGUAGE=Japanese-en

470 :
>>469
レスサンクス!
拾ってきたサンプルソースがCP932じゃなかったというどうしようもない原因でしたorz
スレ汚しスマソ

471 :
1.7.4 が出たようですが....
試してみた人います?

472 :
1.7.4の日本語のrtf出力やっぱりおかしい。
以下、対処メモ。
>102,>134を参考にソース修正・コンパイルして日本語rtf出力できたの確認。
doxygen-1.7.4/src/rtfgen.cppのencodeForOutputを修正
uint i;
uint mbFlag=0; // ←追加
for (i=0;i<enc.size();i++)
{
uchar c = (uchar)enc.at(i);
if (c>=0x80 || mbFlag==1) // ←修正
{
char esc[10];
sprintf(esc,"\\'%X",c);
mbFlag=1-mbFlag; // ←追加
t << esc;
}
else
{
t << (char)c;
}
}

473 :
@だとドキュメント付けできて、\だとできないのは何故ですか?

474 :
>>473
言ってることがよく判らん。普通に@paramでも\paramでもできると思うが。

475 :
>>474
ところが、\paramだとだめで、@paramだとできるんすよ。
何か切り替えるようなオプションがあるのだろうか?

476 :
そのダメなファイルと環境とリビジョンについて詳しく。

477 :
\\にすればおk

478 :
んな馬鹿な

479 :
馬鹿っていうほうが馬鹿

480 :
復帰

481 :
#define HOGE 123
msg.h の 20 行で定義されています
みたいな行番号表示をオフにするにはどうしたらいいの?

482 :
1.7.5.1 は日本語 rtf 出力の文字化けが直ったみたいだ。

483 :
C++で、ソースを弄りたくない他所のライブラリの基底クラスのpublicなメソッドのリファレンスを
自作の派生クラス側のソースで書く事ってできないもんでしょうか。

484 :
>>483
宣言や定義の直前にしかその関数etcの説明を書けないと思っているなら一度doxygenの使い方をちゃんと勉強すると良い。
doxygenのタグのリファレンスを眺めるだけでも全然違うと思う。

485 :
@fn を書いているのに出力されないと思ったら、うっかり他のネームスペース内に書いていた為でした。
お騒がせしました。

486 :
Doxygen 1.8.0 age

487 :
x64バイナリも出たんだな

488 :
こういう、箇条書きをインデントさせると
  /*!
      - 列挙したい場合はこのように先頭に -をつける
        - 更にインデントをつけたいときはこうする
          - 更にインデントをつけたいときはこうする
  */
 ・列挙したい場合はこのように先頭に -をつける
   ・更にインデントをつけたいときはこうする
     ・更にインデントをつけたいときはこうする
こうやってくれるんだけど

これを、このように、
ソースにそった形でインデントさせたいんだけど
  //! - 列挙したい場合はこのように先頭に -をつける
  if (a == 1) {
    //!   - 更にインデントをつけたいときはこうする
  }
これを普通にやると
 ・列挙したい場合はこのように先頭に -をつける
 ・更にインデントをつけたいときはこうする
こうなっちゃうんだよね
「単独行で、強制的に2つ以上のインデント」させる、いい方法ないかねぇ
というか、そもそも
doxygenは、こういうコメントを書くべきじゃないのかな?

489 :
やはりテンプレート関連でおかしくなるなあ

490 :
Doxygen 1.8.1 age

491 :
http://www.doxygen.jp/manual.html にあるマニュアル、
一括ダウンロードできるようになってないのかな。
Webに繋がっていないときにこそ見たいときが多くて、歯噛みすることが多いんだけど。
# 取り敢えず、コマンドのページだけはダウンロードしておいたけど実例見られない……

492 :
「階層まるごとダウンロードツール」使えばええんちゃうのん

493 :
C#で表示されるクラス名が全部
<パッケージ名>.<クラス名>
になってすごく見づらいんですが、これをクラス名だけにする方法を教えてください
何というオプションなのかそもそも名前がわかりません

494 :
HIDE_SCOPE_NAMESでいけた。お騒がせしました

495 :
クラスの階層じゃなくて、依存関係をグラヒカルに見たいんだけど
なにを設定すればいいんだっけか

496 :
HAVE_DOT
後は適当に。

497 :
気になるけどまだ使っていない。
便利なんだろうか?

498 :
使えば判る。是非使え。

499 :
Doxygen 1.8.2 age

500 :
doxygenで制作されたライブラリのレファレンスがあるんだけど、オフラインで見たいからダウンロードしたいんだが、なにか方法はないだろうか。
なんかサーバー側の調子が悪いのか、見たい時に中々見れない時とかあって困ってるんだ。
なんかメインページがphpだからなのか、普通のダウンロードツールじゃうまくいかないんだ。

501 :
じっさいに見てみないことには何とも言えん
URIはよ

502 :
doxygenで出力されるのは通常htmlで、phpじゃないよ。
そうでなくても、このスレで聞くのはスレ…いや、鼬害。

503 :
\relatesは関数にしか機能しないということですが、同じようにC++のクラスを他のクラスに関連付ける手段はないでしょうか?
//何かのTraitsクラステンプレート
template < typename T > xxxx_traits;
/*! クラスA
*/
class A { ... };
/*! xxxx_traitsのクラスAに対する特殊化バージョン
 \relates A ← 例えばこんな風に
*/
template <>
struct xxxx_traits< A > {.... };
クラスAのドキュメントからxxxx_traits< A >へのリンクを張りたいのですが。

504 :
書き忘れていました。
今は、クラスAのドキュメントから\saでリンクを張っています。
しかし、Related Functionsと同列にできないものか、と思ったのです。
後出しですいません。

505 :
プログラム関係で詳しい奴っている?

506 :
>>501 >>502
doxygenで構築されるのはhtmlなのか。
ソースコード向けホームページ作成ツールみたな認識でいいんかな。
ってことはdoxygenを仮にインストールしたとして、WEB上にあるdoxygenで出力したページはhtmlとかだからgitみたいにダウンロードするとかそういうのも無いんか
ちなみにURLはこれ
ttp://www.arongranberg.com/astar/docs/

507 :
>>506
使った事はないけどpdfへの出力もサポートしてるよ。
Output Formats
http://www.stack.nl/~dimitri/doxygen/output.html

508 :
TeXからps経由でpdfにするのは日本語の扱いで結局満足いく出力になったことがないんだよなぁ。
rtfからdoc経由でpdfにするのはMS-Office2010があれば日本語も大丈夫なようだけど。

509 :
>>506
wget --mirrorとか。

510 :
Doxygen 1.8.3 age

511 :
New features 見てみた。External Indexing and Searching 面白そうだな。
ttp://www.stack.nl/~dimitri/doxygen/extsearch.html

512 :
RTFで出力したときに
1.先頭ページが「TITLE AUTHOR Version 1.0.0 CREATEDATE」となり内容が出力されない。
2.3ページ目が「目次 Tavle of contents」となり出力されない
3.最終ページが「索引 INDEX」となり出力されない
4.デストラクタ「~」で始まる名称が文字化けする
version は1.8.2 です。
DOXYFILE_ENCODING = UTF-8
INPUT_ENCODING = SJIS
としています。個別でも構いません解決方法ご存知の方はおられませんか。

513 :
>>512
INPUT_ENCODING=CP932
の方がいいと思います。
後は、MS WORD で読み込んで全文選択した後フィールド更新

514 :
>>513
早速やってみたら全てきれいに解決しました。
ありがとうございました。

515 :
>2.3ページ目が「目次 Tavle of contents」となり出力されない
なんだこれ。

516 :
>>515
「目次 Table of contents」のパンチミスでした。m(__)m

517 :
Doxygen 1.8.3.1 age

518 :
Doxygen 1.8.3.1 使ってます
rtfの出力なのですが
VisualStudio 2010でC#で使おうと思ってます
DOXYFILE_ENCODING = CP932
INPUT_ENCODING = UTF-8
として、出力したところ
refman.rtf
は何となくそれっぽい出力をされているのですが
おまけで作られる大量のrtfファイルが、UTF-8のままなのか文字化けしちゃいます

refman.rtfファイルに対して、ワード2007で
読み込んで全文選択した後フィールド更新
としても、おまけファイルが取り込まれた様子もないです(おまけファイルの図が取り込まれていない)
それと、目次が「TOCが間違っています」・・・
というエラーになってしまうページがあったりします
doxygenはあまりワード出力は向いてないのでしょうか
htmlは結構イメージしたものに近い出力だったのですが

519 :
>>518
ソースもcp932にしないと難しいかもね。
それと、word2010にしたら改善するかもしれない。
いずれにしても、日本語は相性悪いよ。
そうそう、JapaneseでダメならJapanese-enも試してみる価値あり。

520 :
1.8.3.1で、C言語でグローバル変数を使う時に、
(foo.h)
extern int a;
(foo.c)
int a;
って書くと出力にaが2個現れるのですが、仕様でしょうか

521 :
@addtogroupでcとhを同じグループに入れた時だけ>>520みたいな状態なので、とりあえずexternの部分だけグループから外します

522 :
externはグループから外さなきゃいけないか
まあそりゃそうだな
失礼しました

523 :
doxygenを意識していないソースコードに
doxygen用のコメントのテンプレートみたいなのを書き込む機能ってありませんか?
例えば
class Hoge
{
...
};
などとあったら
/**
* @brief brief of Hoge
*
* detail of Hoge
*/
class Hoge
{
...
}:
のようなコメントを挿入するような

524 :
>>523
つeclipse

525 :
>>523
んなもん、Doxygenにあるわけないだろ。
LL言語で作るかエディタのマクロで作るかすればいいだろうが、それはスレ違い。
あぁ、JavaDocスタイルを有効にしておけば、もそっと簡単になるな。

526 :
でもそれこそdoygenにパーサがあるわけだから、doxygen内蔵でそういう機能があったらいいなとお思うのは
自然で低コストだべ?

527 :
VisualStudio で C++ なら DoxyComment だろうけど。

528 :
ありがたい、求めていたものはそれです

529 :
>>527
これ便利そうやな
コマンドライン版ある?

530 :
>Express Editionでは使えません
チクショー!

531 :
細かいのはヘッダファイルに書く派? ソース本体に書く派?

532 :
本体と別々にdoxygenコメントを書くことはねーよ。doxygenのいいところが全く無駄になるだろ。
ヘッダファイルに書くのは前方宣言とマクロ定義くらいだから当然ソース本体にしかdoxygenコメントなんざ書かない。

533 :
@parのなかでPREタグ使いたいんだけどうまくいかない
AAとか書くときってみんなどうしてるの?

534 :
AAとか書かない

535 :
>>534
きみの思いとか気持ちを聞いているわけじゃあないんだ。 わかるね?

536 :
>>535
なんのAA書きたいんだよ

537 :
>>536
┌─┬─┬─┬─┐
│あ│い│ │お│
└─┴─┴─┴─┘
こういうのとか

538 :
>>537
table使えば?

539 :
@htmlonlyじゃダメなのか?

540 :
>>531
俺はヘッダに書くね
実装する時はヘッダから見るし

541 :
>>532>>540、よくどちらも聞くしどちらも一理あるんだけど
どっちがより一般的なのかな。 長いものに巻かれたい。

542 :
調べても分からなかったので、質問です。
同じ引き数の関数をまとめたいですが、どうすればいいでしょうか?
以下のようにしたいです。(doxygen 1.8.5使用)
関数
-----
bool add_apple(int* out, int in);
bool add_orange(int* out, int in);
bool add_lemon(int* out, int in);
-----
果物を追加する
引き数
 [out] out 出力
 [in] in 入力
戻り値
 成功 true
 失敗 flase

543 :
\refで参照するようにするとか。

544 :
Doxygen使ってるプロジェクトのドキュメントとかを見てみたけど
複数の関数をまとめて表示してるのは全く見つからなかった…
\refはグループ化とかしないと行けないっぽいし若干敷居が高い…
とりあえずバラでドキュメント化しておくよ
どうもでした

545 :
>>542
ところで、それ言語なんなの?

546 :
最近はC言語もマイナーになったのかぁ....

547 :
>>545
C++だけど何か変か?
もちろんサンプル用にその場で書いただけなんだけど

548 :
>>547
少なくとも>>545のコードはへん

549 :
>>542だった

550 :
もうちょっと分かり易く書くと
bool add_apple(Fruits* fruits, int add_num); // 成功 true 失敗 false
bool add_orange(Fruits* fruits, int add_num);
bool add_lemon(Fruits* fruits, int add_num);
C++なのに第一引き数にオブジェクトの指定が必要だけど、
別に変ではないよ

551 :
いや変

552 :
変なのは分かったから、ちゃんと具体的に言えないの?

553 :
君に使う時間ないし
強烈に変だと思ったからそれだけ伝えたかっただけ

554 :
あ、でもFruitsの定義とbool add_apple()の定義を書くというなら、そのコードのどこがおかしいかは指摘できる

555 :
スレ違い

556 :
逃げたw

557 :
まあC++の天才と謳われた俺に書かせれば
bool add ( string fruits_type, Fruits* fruits, int_add_num )
かな。
かなりスマートな設計になっているのが分かると思う。

558 :
なるほど。

559 :
Fruits fruits;
fruits.add("apple", 10);
とかするのが普通な気もするが。

560 :
bool add_apple(Salud* salud, int add_num); // 成功 true 失敗 false
も定義しておけば、
Salud salud;
Fruits fruits; // Salud と継承関係はない
add_apple(salud, 10);
add_apple(fruits, 10);
と出来るメリットもあるので、一概にどれがいいとは言えない
状況による

561 :
>>546>>547>>550>>552>>557>>559
>失敗 flase
これじゃね?

562 :
まさかそんなあからさまなtypoに対して
「ところで、それ言語なんなの?」なんてドヤ顔でレスするのは想像の範囲外だわ

563 :
>>562
こういうのも「嘘を嘘と」の一環じゃねえかと思うんだが

564 :
>>561
> これじゃね?
違うよ
> 「ところで、それ言語なんなの?」なんてドヤ顔でレスするのは想像の範囲外だわ
一見C++なんだが、俺の知らない言語の可能性もあるので聞いた
>>560
> 状況による
まあ確かにそうなんだが、俺の見立てではどんな状況でも糞
> Salud salud;
> Fruits fruits; // Salud と継承関係はない
>
> add_apple(salud, 10);
> add_apple(fruits, 10);
も糞だ

565 :
設計思想を語りないなら他に行ってくれ。
まぁ、相手にされないからこんなニッチなところで管巻いているんだろうけど。

566 :
>>565
別に語りたくないし
変な物を変だと言う自由もないのかこのスレは

567 :
まあ、どこの誰かもわからん俺みたいな奴に変だの糞だの言われても、
自分に絶対の自信があれば無視しとけばいいだけの話だよ

568 :
まあ、上のコードとか見ると
doxygen 使う以前にもっと読みやすいコードを書く練習しろよとは思う。
doxy られても読む気がしなそうだぜ。

569 :
まぁとりあえず、4回も5回もどうでもいい書き込みしなくても
どう糞なのかを1回書き込んでくれれば、それでいいんだよ

570 :
flase対するツッコミだったほうがまだマシだったよーな・・・

571 :
とりあえずVC++のMFCで書くとしたら、こうするかな。
// Fruit.h
class CFruit : public CObject {
public:
virtual CString GetName() const =0;
};
// Apple.h
#include "Fruit.h"
class CApple : public CFruit {
public:
virtual CString GetName() const { return(_T("Apple")); }
};
// Orange.h
#include "Fruit.h"
class COrange : public CFruit {
public:
virtual CString GetName() const { return(_T("Orange")); }
};
// Lemon.h
#include "Fruit.h"
class CLemon : public CFruit {
public:
virtual CString GetName() const { return(_T("Lemon")); }
};
// FruitBasket.h
#include "Fruit.h"
#include <afxtempl.h>
typedef CTypedPtrArray <CObArray,CFruit *> CFruitPtrArray;
class CFruitBasket : public CFruitPtrArray;

572 :
// 続き
int main()
{
CFruitBasket objBasket;
CFruitPtrArray arr;
objBasket.Add(new CApple);
objBasket.Add(new COrange);
objBasket.Add(new CLemon);
arr.Add(new CApple);
arr.Add(new COrange);
arr.Add(new CLemon);
objBasket.Append(arr);
for(int nIndex=0;nIndex<objBasket.GetSize();nIndex++)
{
cout << "\r\nobjBasket[" << nIndex << "]=";
cout << (LPCTSTR)objBasket.GetAt(nIndex)->GetName();
}
}

573 :
Doxygen 1.8.6 age
http://www.stack.nl/~dimitri/doxygen/manual/changelog.html#log_1_8_6

574 :
Windows7でdoxywizardを使ってドキュメントを生成しているのですが、
出力されたログを見るとどうもすべての標準出力が先に出力され
その後に標準エラーがまとめて出力されているようです。

コマンドプロンプトから実行した時のように
標準出力でも標準エラーでもプログラムが出力した順に
出力されるようにしたいのですがどうすればよいでしょうか?

575 :
>>574
Doxywizardを使わなきゃいいんじゃね?w

576 :
ある関数の概要って、どこに書けばいい?
関数の前に書くの?

577 :
>>576
他にどこと迷うのさ?

578 :
>>576
うちの場合、宣言がある場合はその直前、ないなら定義の直前。

579 :
ヘッダに書く派とソースに書く派の論争は
ドキュメントコメントが生まれたときから続いてるからな

580 :
Qtはソースに書いてあって、Doxygenはヘッダに書いてある。

ヘッダとソースだとソースの方が長くなるので、ヘッダに書く派の気持ちはわかる。
でも俺はソースに書いてる。

581 :
あと、ヘッダに実装も書く派が増えてきてるので、それはヘッダに書いたほうが良い理由になるかもしれない。
まあ別に、全然関係ないファイルに書いてもいいんだけど。

582 :
それでも俺がソースに書く理由は、ヘッダを索引に使ってるから。

本の目次に概要が一緒に書いてあったら50ページくらいに分量になって索引の役に立たないみたいな感じ。
今のエディタは、上に索引が付いてるし、クラスビューもあるから意味ないのかも。

でも、プルダウンリストって読みにくいんだよね。

583 :
>>582
なるほど。 俺は昔からヘッダをマニュアルとして使っていたから
その流れでdoxygenを知って俺のためのツールだと歓喜したよ。

なので今でもヘッダに書く派なんだよね。
PHPとかやるときはいつもむずむずする。

584 :
非常にフォルダが細分化されていてとてもinputに手動で登録したくない数なんだけど自動で階層降りてって全部ソース拾ってくれる機能ないの?

585 :
すみません自己解決しました

586 :
>>585
それは本当に自己で解決したのか?
偉大なる先人の知恵を拝借したのではないのか?

587 :
C++で function_>.html というファイルを作ろうとしてエラーになる
回避策を教えておくれ

環境は Windows 版バイナリ 1.8.13

588 :
> の文字が、ファイル名として使えないのかな?

589 :
>>588
そう
Windowsでは使えない
多分 operator function 用のファイル名に
こういうファイル名を使おうとするんじゃ無いかと思う

SHORT_NAME を有効にすれば変わるかとも思ったんだけど
変化なかった

590 :
macのひとか

591 :
ひとかたまりにコメントをつけたいんだけど
どうしたらいい?

592 :
http://www.doxygen.jp/grouping.html#memgroup

593 :
>>592
ありがとう


ついでに
構造体のビットフィールドを図にしたいんだけど
doxygenじゃやってくれない?

594 :
入出力に構造体やクラスがあるとき
「このメンバーを使います」 というのを明示したいんだけど
どうしたらいい?

595 :
>>263,269

596 :
僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』

GIUEM

597 :
WZ1

598 :
スレタイのコンソメは何?

599 :2019/02/07
2、3時間迷った。
Private変数が出ないから。
これは罠だな。
https://i.imgur.com/N4ZDw3L.jpg

Visual Studio 2013 SP8
Borlandにはやられた...
【知識】俺のためのプログラム覚え書き【共有】
英語の技術書読めちゃうプログラマ
【統計分析】機械学習・データマイニング25
攻守最強のプログラミング言語は?
D言語 Part34
Rust Part5
Win32API質問箱 Build126
【えっ】Perlに未来はあるのか?【終わり?】
--------------------
Hearthstone Part1328
【どケチ不倫】<渡部の雲隠れに大ブーイング>「張り込み地獄」が待ち受ける「一度会見をして謝罪したほうがよっぽど楽」#佐々木希 ★2 [Egg★]
東京に住んでないやつって人生損してるよな
沖縄(本島)観光 その106
【風防】ストームクッカー 4【チムニー】
予想日記 エリア53
FOSTEXでスピーカー自作を楽しもう!その36
レミリア・スカーレット個別スレ 四十九の符
【日向武史】あひるの空 71 週休載
航空自衛隊 次期主力戦闘機(F-X)の最有力候補は?
超高学歴エリート女子「男ショッボ! ネットで探した薄っぺらい知識で言葉しゃべんな!」  [571598972]
4大カルト臭がする政党「公明党」「共産党」「れいわ新選組」あと一つは? [322297342]
Fate/Grand Order まったりスレ3907
【PS4】オメガクインテットpart16
◆◇◆salomon snowboard part5 ◆◇◆
50ccエンジンのある生活 原付をまたーり楽しく174
【東西総合】東京の高校野球 part32 【2019群雄割拠】
今日風つえええええええええええ 12風目
薄着の女の子が増えてきた
非リレー型バトルロワイアルを発表するスレ Part35
TOP カテ一覧 スレ一覧 100〜終まで 2ch元 削除依頼