08/05/30 19:50:27
無いので建てた
公式
URLリンク(www.doxygen.jp)
2:デフォルトの名無しさん
08/05/30 21:01:14
このスレはアイちゃんがうんたらかんたら
3:デフォルトの名無しさん
08/05/30 23:18:24
標準のスタイルシートも見飽きてきたんだけどなんか格好いいdoxygen用のスタイルシート
配布してるサイトってないの?
4:デフォルトの名無しさん
08/05/30 23:19:18
,r-、 l l l /:/
,.ノ-'、,!l ,! ,!:/"
..-''''~`'ーy'⌒`;'"ヾ,.`,r''"`:,
'"`'ー-,,r____i';';';';';';';';';'; -j. ゙;
--....i',.tノ;';';';':'..:::::..':';';';'(.λ
-_.=/t-';';';';'..::::::. .:::::..';';'; ,!-ー''
" _!_..>;';';';';'; ::::::::: ;';';';';r'〈ー--
,r'",>,i、'r;';';';';';';';';';';';';';' ,!イヽt-''
,r'" `t-,ッヽ、;';';';'.'.' i" ヽ ヽ,
/ `''j ーπ-'゙`'ー'r'~
`ー、,__/ ':,
5:デフォルトの名無しさん
08/05/31 11:13:21
>>3
そういえば見ないな
Java風とかw
6:デフォルトの名無しさん
08/06/02 15:25:50
このスレは大器晩成型
7:デフォルトの名無しさん
08/06/04 13:17:22
これだけ使われていてなんで今まで無かったんだろう。
8:デフォルトの名無しさん
08/06/04 21:34:38
>>7
>>2-6見てわかんないの?
9:デフォルトの名無しさん
08/06/05 11:54:36
Doxygenってやたらデグレ多くない?
やっとバグが直ったと思ったら今まで動いていた部分がおかしくなったり。
いつまでたっても満足のいく出力ができない。
10:デフォルトの名無しさん
08/06/05 12:29:52
最新版はツリーが文字化けしたりしないか?
11:デフォルトの名無しさん
08/06/05 21:06:31
output japaneseでやってるけど、左のツリーが化けてる
検証はしてない
12:デフォルトの名無しさん
08/06/06 00:15:15
おまいら Javadoc 風と Qt 風のどっちでコメント書いてる?
13:デフォルトの名無しさん
08/06/06 12:28:19
///
14:デフォルトの名無しさん
08/06/06 13:18:08
ようやくスレが出来たから聞ける
「doxygen」って何て読むの?読んでる?
15:デフォルトの名無しさん
08/06/06 13:23:32
>>14
doxygenの公式ページのFAQに書いてある
16:デフォルトの名無しさん
08/06/06 13:40:56
うは。こんな過疎スレで即レスサンキュー
でも、英語読めませーん
---------------------------------
doxygenはどのように名前を持っていましたか?
Doxygenは単語ドキュメンテーションとジェネレータで遊ぶのから名前を得ました。
ドキュメンテーション - 医者 - dox
発電機 - 情報を得てください。
当時、私が法とyaccを調べていたので、事態は、「y」で、発音可能につけ加えて、なりました(適切な宣告はDocs-ee情報を得ています、長い「e」があるそう)。(そこでは、多くのものが"yy"から始まります)。
---------------------------------
翻訳したけど意味わかりませーん
「ドキシゲン」でいいのかな?
17:デフォルトの名無しさん
08/06/06 13:55:55
ドキシジェンだろ
オキシジェンデストロイヤーから連想して
18:デフォルトの名無しさん
08/06/06 14:11:10
documentation-generator → docs-ee-gen だから
カタカナ表記ならドキシジェンかドクシジェンじゃないかな
俺もドキシジェンって言ってる
19:デフォルトの名無しさん
08/06/06 15:53:35
どくしげんって脳内発音してた
20:デフォルトの名無しさん
08/06/06 18:23:18
げんしけん
21:デフォルトの名無しさん
08/06/07 00:02:59
やっぱ読み方わからない奴結構いるんだな
22:デフォルトの名無しさん
08/06/07 00:38:33
d + oxygen に見えるからドキシジェンだろ。
23:デフォルトの名無しさん
08/06/07 03:42:43
ドキシゲンって読んでたお
HTMLでは、文字化けしないのに
chm作ると、左側の一覧文字化けする
どうしたらいいんだ
24:デフォルトの名無しさん
08/06/07 06:03:46
Goo辞書でoxygenの発音
URLリンク(dictionary.goo.ne.jp)
これにdをつけて読むだろ条項
25:デフォルトの名無しさん
08/06/07 14:19:08
doxygenうまいこと使ってる
日本語の人って
Seleneの人以外に居る?
URLリンク(selene-lue.halfmoon.jp)
26:デフォルトの名無しさん
08/06/07 14:46:47
>>25
「うまいこと」の意味がわからんな。
何か変わった使い方してるの?
27:デフォルトの名無しさん
08/06/07 19:16:40
>>25
日本語の使い方が(ry
28:デフォルトの名無しさん
08/06/08 01:04:30
チョンでごめんなさい
>うまいこと
俺と比べて、丁寧に利用している意味。
というか、普通に活用してるって意味。
29:デフォルトの名無しさん
08/06/08 01:29:52
>>28
じゃぁ、居るよ、ってことで。
30:デフォルトの名無しさん
08/06/08 02:37:06
>>29
氏ね
31:デフォルトの名無しさん
08/06/10 22:40:18
まだ30レスにしか達していないのかよ!!
32:デフォルトの名無しさん
08/06/11 00:36:37
>>7
今まで単独スレが無かっただけで、話すら無かったわけではないぞ。
良いドキュメント・マニュアル・仕様書を書くスレ
スレリンク(tech板)l50
33:デフォルトの名無しさん
08/06/14 14:49:17
Doxygen が吐き出す XML のフォーマットってどっかに仕様書ある?
34:デフォルトの名無しさん
08/06/14 18:14:58
XMLなら名前空間のところにURLがあるんじゃないの?
35:デフォルトの名無しさん
08/06/15 09:05:34
名前空間のURLのところにスキーマがあるとは限らない
36:デフォルトの名無しさん
08/06/15 18:25:33
スキーマって意味まで定義しているんだったっけ。
37:デフォルトの名無しさん
08/06/15 18:28:10
隙間って何ですか
38:デフォルトの名無しさん
08/06/18 21:45:54
C 言語のソースから HTML 文書を生成するときにモジュールのページに
1つの関数に対して func() と Struct::func() のような2つの名前が表示
されてしまうのですが func() だけにできないでしょうか?
39:デフォルトの名無しさん
08/06/19 00:03:43
>>38
OPTIMIZE_OUTPUT_FOR_C はどうしてる?
40:デフォルトの名無しさん
08/06/19 12:11:02
もちろん YES です。
41:デフォルトの名無しさん
08/06/20 03:07:40
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:デフォルトの名無しさん
08/06/20 03:19:30
>>41
doxygen で生成した文書は生成に使われた入力の派生物、つまり、この( doxygen の)ライセンスに影響されない。
43:デフォルトの名無しさん
08/06/20 07:56:23
>>42
どうもありがとうございます。
44:デフォルトの名無しさん
08/06/24 14:33:52
C++ のクラスの中の using 宣言は文書化されないのでしょうか?
45:デフォルトの名無しさん
08/06/26 11:37:10
インハウスのCライブラリにコメントつけてDoxygenしたら、
100ページ超のrefman.pdfが出来上がってたまげた。
調子に乗ってデベロッパーズマニュアルまでDoxygenで書いてる。
細かいところでアレな事はあるけど、まだ後悔はしていない。
リファレンスマニュアルやサンプル実装と相互参照できていい感じ。
こういうのは、Docbookとかだとめんどくさくて。
46:デフォルトの名無しさん
08/07/06 09:53:21
グラフ中のフォントサイズが変更できないんですが、cssを直接弄るしかないんでしょうか
47:デフォルトの名無しさん
08/07/11 02:25:54
doxygen使えるな
48:デフォルトの名無しさん
08/07/11 20:05:04
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:デフォルトの名無しさん
08/07/11 21:27:54
>>48
vbfilter.pyの出力を晒してみそ
50:デフォルトの名無しさん
08/07/13 02:15:19
>>48
vbfilter.py は、空行を捨ててしまうんですが、
cTest のドキュメントブロックと fncTest のドキュメントブロックがくっついててもいいんでしたっけ?
私も自信ないので…
自分で使う分は空行を通すようにしたりとか、色々と手を加えて使ってます。
なお、 vbfilter.py の説明に、クラスの説明用のコメントは「'*」じゃなくて「'!」で始めるとあります。
それと、doxygen のマニュアルに書いてますが、説明する対象の直前に置くなら、 @fn コマンドはいりませんよ。
51:50
08/07/13 02:33:51
>>48
もうひとつ思い出した。
vbfilter.py は分割行には対応してないので、
実際の fncTest の1行目の宣言が複数の行に分割されてたら認識してくれません。
52:デフォルトの名無しさん
08/07/14 04:02:29
>>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:50
08/07/14 20:30:08
クラス名は、ファイル名やフォーム名から vbfilter.py が勝手に付けるので、
@class コマンドもいりませんよ。
@fn コマンドをつけないと出力されないのは、
1行目の @class コマンドの行頭が「'*」になっているために、
fncTest のドキュメントブロックとくっついてしまって
おかしな事になっているのではないでしょうか。
「'*」で始まる行と「'!」で始まる行は違うタイミングで処理されます。
最初に「'!」で始まる行が検出されて、クラス用のドキュメントブロックが出力され、
対応するc++形式のクラス定義が開始されます。
次にファイルの先頭から1行ずつパターンマッチングされて、
関数の1行目や変数定義や「'*」で始まるコメントがc++の書式に変換されます。
この段階では「'!」で始まる行は飛ばされます。
最後に「}」が出力されて、最初のクラス定義が閉じられます。
なお、関数の中身は全部捨てられてます。
中身の変換の機能追加も一時考えたんですが、挫折しました……。
54:デフォルトの名無しさん
08/08/01 22:14:18
ツリー部分の日本語が文字化けしてしまうんですが、どうやったら解決できるでしょう?
今のところ手動で変更してますが、Doxygenの設定でどうにかしたいです。
55:デフォルトの名無しさん
08/08/01 23:03:48
doxygenのバージョンと動かしているOS、食わせているファイルのエンコードとDoxyfileの設定などの情報をどうぞ。
私のところでは文字化けしていないので。
# 尤も、日本語のファイル名なんて使ってないからファイル名が化けない保証はないが。
56:デフォルトの名無しさん
08/08/02 01:33:38
>>54
バージョン1.5.6 なら、Doxygen自体のバグっぽいです。
公式のバグレポートには、ポーランドの人からも
ポーランド語特有の文字が化けると報告されてます。
1.5.5と1.5.6でツリービューの処理が変わってるので、
そこでエンコーディングの処理をミスしたまま、
作者様はラテン1な国の人なので気付いてないってとこではないかと。
57:デフォルトの名無しさん
08/08/02 08:56:42
>>54
1.5.5を使う
58:55
08/08/02 09:09:18
お、私が使っているのはCygwinのインストーラで入れた1.5.5だ。
59:デフォルトの名無しさん
08/08/02 09:13:10
>>56
thx! (54じゃないけど)
60:54
08/08/05 21:35:07
ありがとうございます!バージョンの違いってのは気づきませんでした・・・・
これでキー一つでビルド&ビルド後処理ができるようになりました。
61:デフォルトの名無しさん
08/08/26 16:11:52
今までdoxygenの事を全く考えずにC++で開発していたんですが、
突然思い立ってdoxygenで出力することにしました。
当然、対応形式のコメントでないので一切出力されません。
一から書き直そうと思うんですが、せめてソースを静的に解析して
関数やファイルの頭に定型のテンプレートを追記してくれるようなツールがあればと
探してるんですが、何かないですかね?
62:デフォルトの名無しさん
08/08/26 16:27:23
>>61
そんなことしなくても、コメントの付いてない関数も含めて無理矢理出力させるオプションがあったはず。
DoxyfileのEXTRACT_ALLの項目をNOからYESに変えてみたら?
63:61
08/08/26 18:34:24
はい。その設定で関数は出るんですが、クラスとメンバが
何をしているかの簡単な説明も表示したいと思っています。
既に大量のソースが存在する為、少しでも手間をかけずに実現したいと試行錯誤中です。
自分の様にプロジェクトの途中からdoxygenの使用を考える人間が、
どのようにこの問題を解決しているのか知りたいところです。
64:デフォルトの名無しさん
08/08/26 18:39:07
努力と根性じゃね?
65:デフォルトの名無しさん
08/08/26 19:53:17
>>63
とりあえず、説明文を付けるのは名前だけで中身を判断できないようなクラスやメンバだけに限定しようぜ。
66:61
08/08/26 23:15:44
>>64 >>65
先ほどgccxmlを使用して自宅の環境で関数の位置と引数の情報を取得することができました。
ここからコメントを挿入していけばよさそうです。
お二人はdoxygen以外に勉強しなきゃいけないことがあるように思いますよ。
本当にありがとうございました。
67:65
08/08/26 23:33:51
>>66
四行目が蛇足すぐるwww
でもまあ、健闘を祈る。
あと、無理するなよ。形だけのドキュメント作業なら特に。
68:61
08/08/26 23:56:08
>>67
大丈夫ですよ、あなたみたいにひ弱じゃありませんから。
69:61
08/08/27 00:18:56
名無しに戻ろうと思ったのですが偽者が湧いたので。
>>66は私本人ですが、>>68はどこぞの馬の骨です。
>>67
ありがとうございます。
"努力と根性"という言葉に何故かカチンときてしまい棘のある文章になってしまいました。
プログラマやその上司が気軽に使っていい言葉ではないと考えます。
たかが2chの戯言なのに、と自分でも驚いていますが。
ドキュメントはネット上で一般公開予定なので、なるべく解りやすいものを心がけます。
これ以降、私が>>61で書き込むことはありません。
書き込みがあったとしたら、それは私以外の誰かです。
70:61
08/08/27 00:21:13
いいえ、>69こそがどこぞの馬の骨です。
そもそも、まともな神経をしていたらレスをつけてくれた人に馬の骨なんて使うわけないじゃないですか。
71:65
08/08/27 00:41:27
ワロタw
72:デフォルトの名無しさん
08/09/13 10:38:25
>>61もその程度で躓くレベルでしかもきもいときた
73:デフォルトの名無しさん
08/09/25 11:13:21
word出力したら途中までしかクラスが出てこないのは何故?
74:デフォルトの名無しさん
08/09/25 12:25:23
>>73
htmlでも出ない?
なんか変な記述があるとそれ以降が出ないことがあった。なんだかは忘れた。
75:デフォルトの名無しさん
08/09/25 13:04:40
>>74
htmlだと全部出てるだけど、途切れてる部分見直してみる
ありがと
76:73
08/09/25 13:26:05
>>74
確認してみたけど、特に変な記述は見当たらなかった
でも、たまに出力先のwordでカタカナ部分が文字化けしているとこがあった
OUTPUT_LANGUAGEがJapaneseだと全く表示されず、Japanese-enだと途中まで表示されて
今Englishに変えたら文字化けだらけだけど全部出てきた
INPUTもOUTPUTもcp932でしてるんだけど、どうすりゃ文字化けせずに日本語だせるかな…
77:73
08/09/26 15:47:20
追加報告です。
doxygenのVer1.54使っていましたが、1.47でword出力すると問題なくできました
ご迷惑おかけしました
78:デフォルトの名無しさん
08/09/27 08:34:51
doxyはバージョンあげると劣化することもあるからなあ
最新版のツリー表示の日本語化け直らないかなあ
79:デフォルトの名無しさん
08/10/03 00:09:52
1.5.7 age
80:デフォルトの名無しさん
08/10/09 12:07:46
v1.5.7.1 age
81:デフォルトの名無しさん
08/10/12 12:08:52
>>78
1.5.6でchm形式でインデックスのエンコーディングを選べるようになって文字化けが解消されたから、それで我慢すれ
82:デフォルトの名無しさん
08/10/21 20:34:18
C言語の構造体で、gccのattributeがメンバ「関数」扱いされてしまう
これどうにかならないかな?
OPTIMIZE_OUTPUT_FOR_CはYESになってる
struct Foo
{
int Bar __attribute__((aligned(32)));
83:デフォルトの名無しさん
08/10/21 22:37:43
>>82
Cにない構文は、INPUT_FILTERにsedかなにかのスクリプトを指定して事前に取り除くしか。
84:デフォルトの名無しさん
08/10/22 01:29:05
>>82 URLリンク(www.google.co.jp)
85:82
08/10/22 10:40:25
>83-84
ありがとう、ただそれだとattributeが消えちゃうよね
なんとか残したまま正しく動作させたいんですよ
86:デフォルトの名無しさん
08/10/22 12:17:14
1.5.x で enum EnumName に対して @relatesalso StructName を書くと StructName のページに
EnumName が出るようになるのですが、enum のメンバーのリストが表示されなってしまいました。
1.4.x ではできていた記憶があるのですが、1.5.x で正常にする方法はあるでしょうか?
OPTIMIZE_OUTPUT_FOR_C は YES です。
87:デフォルトの名無しさん
08/10/22 12:57:19
>>85 情報後出しキター
88:デフォルトの名無しさん
08/10/22 13:22:05
>>85
あんたの言う正しい動作って何なの?
89:デフォルトの名無しさん
08/10/24 09:34:27
正しく=attributeを残したまま、メンバ変数はメンバ変数として認識だろjk
90:デフォルトの名無しさん
08/10/24 09:39:03
正しくって……
そんな拡張に一一対応しろってのか?
ソースあるんだろうから自分でやれよと思うのだが。
91:デフォルトの名無しさん
08/10/24 10:10:38
いちいちソース書き換えとかコスト見合わないでしょ
だからそれ以外でなんとかする方法を探してるんじゃないか?
まあattributeは確かに独自拡張だが、gccだし割とよく使われてるんで対応してても良いと思う
92:デフォルトの名無しさん
08/10/24 10:15:31
汎用的に
構文解析時だけ指定キーワードを無視するオプションがあればいい
つか、ないのかな?
93:デフォルトの名無しさん
08/10/24 18:10:58
>>91
あなた流に言うと、コストに見合わないので対応しません
94:デフォルトの名無しさん
08/10/25 00:44:08
作者かよww
95:デフォルトの名無しさん
08/10/25 17:40:51
そもそもC言語にメンバ関数は無いんだからdoxygenのバグとも言えるだろ
想定外の構文には警告なりエラーなり出して欲しいよな
96:デフォルトの名無しさん
08/10/26 00:08:33
例えば@paramとかって変えられないの?
97:デフォルトの名無しさん
08/11/08 17:25:21
mac osx 10.5.5
doxygen 1.5.7.1
で実行しようとすると、Failed to run doxygen と言われて一切実行できません。
対処法知っている方、教えて下さい。
98:デフォルトの名無しさん
08/11/19 23:51:11
クラス関連図って作れますか?
1クラスの構造を図にはできるみたいですが・・・
C++です。
99:デフォルトの名無しさん
08/11/20 00:02:36
graphvizがあればできるよ。
100:デフォルトの名無しさん
08/12/17 20:18:15
@dateの後ろに付ける日付をsubversionが自動更新してくれるように
$Date$にしたら、出来たhtmlで日付の見出しが2重になってました。
もしかしてバージョン管理システムのキーワードをdoxygenが認識して
適当に見出し付きで整形してくれるんでしょうか。
マニュアルにそれらしい説明を見た覚え無いんですが。
101:デフォルトの名無しさん
08/12/21 21:45:55
公式とかで、きちんとした例が*.hしかないと思うのは気のせい?
102:デフォルトの名無しさん
08/12/23 01:27:13
ちょっとメモ。
doxygenで出力したRTFがどうも文字化けするので調べてみたら、\\'を\\\'に変換することで解消することが判った。
要は\を表すのにそれ自身をエスケープして\\とする必要があると言うことなのだろうか。もうちょい調べる必要はありそう。
103:デフォルトの名無しさん
08/12/27 23:00:37
日本語がうまく通らない原因ってどこにあるの?
104:デフォルトの名無しさん
08/12/28 00:28:11
>>100
doxygenは$date$を認識するみたいだね。だから@dateは書かなくていい
105:デフォルトの名無しさん
08/12/28 04:51:23
Doxygen 1.5.8 age
106:デフォルトの名無しさん
08/12/28 05:06:03
アップデートコネーから自分で作るか…
107:デフォルトの名無しさん
08/12/28 09:17:52
>>101
ヘッダーに書けば十分だからじゃないかな。
でも、詳細をヘッダーに長々と書いてヘッダーが読みにくくなりそうなときは、詳細だけcppに分けて書くことはあるよ。それでもdoxygenはちゃんとまとめてくれる
108:101
08/12/28 15:47:03
>>107 thx
十分かとも思えてきた。
概要かけばいいんだもんな。
漏れは最近doxygen向けのコメント付けはじめたからもうちょい使って慣れてみるわ
109:デフォルトの名無しさん
08/12/28 19:40:09
>>103
Shift-JISコードの2バイト目に\を割り当てたマイクロソフトに原因がある。
110:102
08/12/29 14:53:28
更に追加。他にも、エスケープすべき文字をエスケープしていない箇所を発見。
xyzzyの場合の正規表現置換でこれを行なうとかなり改善する。
(query-replace-regexp "\\(\\\\'..\\)\\([{}][^
][^t]\\)" "\\1\\\\\\2")
# 場当たり的だなぁ……
111:102
08/12/29 14:56:31
あー、済まない、補足。
文字列中に出てくる「{」も「}」も、どちらもエスケープしなければならないと言うのが>110の対応。
但し、文字列中かどうかの判断を厳密に行ないたくないので手元のファイルで場当たり的に対応してある。
誰か、ソース拾ってきて対策してくれる奇特な人はいないもんかのぉ。
112:デフォルトの名無しさん
08/12/29 16:04:40
>>111
文字列として表示されるべき「{」や「}」がエスケープされてないってこと?
いつもHTMLしか出してなかったんだけど、試しに手元にあるソースでRTF出してみたら、
こちらではリストをネストさせてるところで、上の階層の行末の書式文字の「{」が
普通の文字として扱われたりして、「{」と「}」の対応が崩れてエラーになってるっぽいです。
(いや、ネストされて表示はされてるから、書式文字以外に余分に「{」が付いてる?)
行末が特定の文字(「定」とか「得」とか)の場合になるみたいだけど、
条件がよくわかりません…
113:102
08/12/29 16:16:27
>>112
2バイト文字の2バイト目に{}\のいずれかが来るケースで、エスケープされないようです。
# 「定」「得」どちらも該当しないようですが……
処が文字列を明示的に区切らないのがRTFの仕様らしくて、キーワードとしての{や}と区別が難しいのですよ。
実は>102の対策だけだと{}の対応が崩れてしまってrtfの一部だけしか読み込まれないことが判って気づいたんですが。
# 客先に実態の1/3程度しか分量がない資料を提出しちゃったのは内緒w
念のため確認したら、手元のDoxygenはCygwin同梱の1.5.5でした。
# さて、rtfを変換するツールを真面目に作るのとdoxygenそのものを修正するのとどっちが楽だろかw
114:デフォルトの名無しさん
08/12/29 16:26:38
>>113
だいぶ前からエンコーディング指定して全部一旦 UTF-8 に変換されるようになったから
その手の問題は解決済みだと思ってるんだけど、何かバージョン上げれない理由でもあるの?
115:デフォルトの名無しさん
08/12/29 17:54:50
cygwinの最新は1.5.5-1だね。
つまり、解決済みではないらしい。
116:デフォルトの名無しさん
08/12/29 18:19:03
cygwinは使ってないので、それが理由かどうかは知りませんが、
1.5.6から1.5.7.1まではフレーム付きHTMLのツリービューで
英数字以外が文字化けするという問題がありました。
2日前に出たばかりの1.5.8でやっと解決されました。
117:デフォルトの名無しさん
08/12/29 19:13:27
>>115
Windows ネイティブ版を使えない理由があるの?
118:デフォルトの名無しさん
08/12/29 20:15:40
全部一旦 UTF-8 に変換されるようになったのは、1.5.2以降だから、
>>113, >>115 の cygwin版も UTF-8 に変換されるバージョンです。
最新版でも日本語RTFはかなり駄目な感じです。
手元のソースを処理させてみたら、目次の見出しの「目次」の後ろとか、
あちらこちらに見えてはいけない「\par」や「{」が見えて、
本文数ページで破綻します。
119:デフォルトの名無しさん
08/12/29 20:53:32
HTML だと問題ないってことかな? HTML しか使ってないからよくわかんないや。
120:118
08/12/29 22:31:08
昔、1.4.6でRTFを作ったことのあるソースを、設定をほとんど変えずに1.5.8に掛けても駄目でした。
1.4.6で作ったRTFの半分ぐらいしかファイルサイズがありません。
むしろ内部処理が UTF-8 になってから、おかしくなったんじゃないかという気がしてきました。
121:デフォルトの名無しさん
08/12/29 23:06:51
折角色々対応してあったのを、UTF-8にしたのを機に捨ててしまったような感じだな。
この正月休みの間に暇があるようならソースでも見てみるか。
122:デフォルトの名無しさん
08/12/30 01:23:34
過去のバージョンを取ってきて順に試してみました。
1.5.0までは日本語の RTF が生成できて
(おかしなところが無いかまではチェックしてませんが)、
1.5.1で、
"Warning: Output language Japanese not supported! Using English instead."
と表示され、日本語が表示できませんでした。
ここで一旦無かったことにされたようです。
123:デフォルトの名無しさん
08/12/30 03:40:46
問題分かったかも。
id 437346 のバグレポートで日本語対応の議論がされてるんだけど、
報告者の人が提案した、
x080より大きいバイトが来たらマルチバイト判別フラグON、
次のバイトでフラグOFF、というのをそのまま採用してくれたらよかったのに、
0x80より大きいかの判断をそのままフラグに入れちゃってるから、
2バイト目が0x80より大きい場合に、その次のバイトまでエスケープされて、
それがエスケープされたら困るものの場合に不幸になってるということかと。
124:デフォルトの名無しさん
08/12/30 03:58:34
repopかければいいのに。
rtfって何で読めるんだろう。AbiWord?ooo?
125:デフォルトの名無しさん
08/12/30 08:55:13
>>123
事はそう単純じゃない。というか、もっと単純。
内部UTF-8をcp932に変換して、必要ならエスケープすべきなのにそれをしていないと言うのが>102=113の観測だろ。
例えば「ソソ」が「\'83\\\'83\\」にならないといけないのに「\'83\\'83\」になると。
それとも、二種類の問題が独立して存在しているのか?
126:123
08/12/30 10:22:07
>>125
ああ、すいません。
>>123で書いたのは、1.5.8の場合の問題です。
>>102,,>>113の、.1.5.5の問題はエスケープされてないというので合ってると思います。
1.5.8でそれに対する対応が入れられたけど、方法がまずく、
今度は逆にエスケープすべきでないところまでされたという話。
127:デフォルトの名無しさん
08/12/30 11:17:38
>>78
1.5.8で直った
128:デフォルトの名無しさん
09/01/08 07:49:37
とりあえず保守ですが、あけおめ。
日本語rtf使えるようになるといいですね
自分はまだ皆様のようにハックに参加できるほど技術がないので、精進したいと思います。
129:102
09/01/08 09:55:41
又更につまらない問題に遭遇。
折角修正したrtfがWordだと読めるのにOpenOfficeだと文字化けする。
例えば、「\'83\\」のような>125が指摘した例だと、「\'83\'5c」のようにしないといけないらしい。
あーもう、rtfを解析するしかないのかなぁ。
# doxygen1.5.8で変わっているらしいからそっちに手を出すのは避けたいし。
130:デフォルトの名無しさん
09/01/08 22:19:22
解決しました。ありがとうございました。
131:デフォルトの名無しさん
09/01/10 14:59:07
1.5.8 のrtfのエスケープバグのソースって
どのファイルなのかな?
132:102
09/01/10 15:17:25
ちょっとLinuxに1.5.8をインストールしたので出力してみたが、これは酷いw
2バイト文字を全てコード出力しているのはいいが、>123のように無関係なコマンド文字まで巻き添えにしてしまっている。
おまけに、コマンド文字列を何故か\commentで括ってしまっているので収拾がつかない状態。
そうそう、html出力のツリービューも、(UTF-8)指定なのにも関わらずプロジェクト名がEUCで出力されるので化け化け。
誰かなんとかして~w
# ってことで、>131に期待♪
133:デフォルトの名無しさん
09/01/11 01:06:49
うはw ぼくとしては>102さんに期待してるんだけどっw
134:デフォルトの名無しさん
09/01/12 00:56:25
>>131
rtfgen.cpp の void RTFGenerator::postProcess(QByteArray &a) です。
こちらを参考に。
URLリンク(bugzilla.gnome.org)
>>132
そういや最近プロジェクト名を日本語にしてなかったけど、これは…
どうやらDoxywizardのバグのようです。
テキストエディタでDoxyfile開いてプロジェクト名を修正して、
コマンドラインでDoxygenを実行したら、文字化けしませんでした。
135:デフォルトの名無しさん
09/01/12 02:36:31
>>134 ソース位置ありがとう。
これって、よくわかってないけど、postProcess()で、ファイル全体を
エスケープしてるのかな。
もしそうなら、rtfでの表示される文字列以外も全部エスケープされて
しまい、上のバグが症状がでてるんじゃないかな?
rtf表示文字列だけをエスケープするようにするには、postProcess()
の中でやってちゃだめで、rtfgen.cpp(にあるか知らないけど)
で表示文字列をrtfタグ中に埋め込む時コード当たりでやらないといけなそう?
とりあえず、doxygenをWindowsでコンパイル出来る環境作り
からやらないといけないのが辛いorz
136:デフォルトの名無しさん
09/01/12 08:13:44
>>135
頑張れw
Cygwinなら協力する。
# つーか、ソース拾ってきて自分でやれ>自分
137:134
09/01/12 21:40:12
>>135
0x80より大きい値とmb_flagが1のときだけエスケープされるはずです。
1.5.7.1以前のバージョンではmb_flagが無くて、0x80より大きい値という条件しかなかったので、
マルチバイト文字の2バイト目が「{」や「\」などの場合におかしくなってました。
mb_flagをマルチバイト文字の1バイト目で1にすれば、
次のバイトが0x80以下でもエスケープされるという仕組みのはずですが、
mb_flagの設定方法がまずくて、2バイト目でクリアされなくて
さらに次のバイトまでエスケープされる場合がある、という状況です。
URLリンク(bugzilla.gnome.org)
で、T.Matsuyama氏が提示したコードが正しく動くはずです。
#そこまで分かってるな自分でやれ、と言われそうだ……
すいません、環境作りが荷が重いですorz
138:デフォルトの名無しさん
09/01/14 22:11:56
バグ修正版バイナリ出来たよん。
URLリンク(www1.axfc.net)
T.Matsuyama氏パッチそのままです。
ばっちりっぽいです。
102さん、134さんありがとw
139:デフォルトの名無しさん
09/01/14 22:17:06
おー、これは凄い。後で試してみるか。
140:デフォルトの名無しさん
09/01/27 01:28:30
てか、>>137のURLが示すバグをreopenして開発者に教えてあげればいいんじゃないの?
アカウント持ってないから誰でもreopenできる設定なのかはわからないけど
141:デフォルトの名無しさん
09/01/27 07:49:20
いかん、未だ試せてない……
142:デフォルトの名無しさん
09/01/30 01:55:55
コメントが一切ついてないソースに
関数の定義部分だけ自動的に
タグを生成してくれるツールないですか?
143:デフォルトの名無しさん
09/01/30 02:14:58
>>142 ctags?
144:デフォルトの名無しさん
09/01/30 07:39:05
>>142
このスレ的には、タグというとDoxyfileのタグのことになるのだがそれでいいのかい?
145:デフォルトの名無しさん
09/01/30 07:42:20
@が付くやつがいい
146:デフォルトの名無しさん
09/01/30 08:23:53
ドキュメントつけしてない関数も出力するオプション?
147:139
09/02/15 17:55:27
やっと>138を試せた。取り敢えず、cygwinからでも使えることと日本語が化けないことは確認した。
但し、OpenOffice(3.0)では{comment[^{}]}を取り除く必要があったこととTITLEなどのフィールドは
巧く変換できなかったけれど、これは元からそうなのかもしれない。
今度機会があれば、素直にMSwordに食わせてみるとしよう。
148:139
09/02/17 18:58:43
cygwinで>138を動かし、できたRTFをWORD2000に食わせた。
全選択してフィールドの更新、画像アンリンクのマクロを動かして、
docに名前を変えて保存。一応、スタンダロンで使える資料になるようだ。
で、画像アンリンクのマクロって需要あるかな。あるようならどっかで公開するけど。
149:デフォルトの名無しさん
09/02/28 05:29:11
doxygenのライセンスってGPLですよね。
doxygenのコメントを書いたソースって公開しないと駄目ですか?
150:デフォルトの名無しさん
09/02/28 05:39:00
ならないよ
GPLのお絵かきソフトで絵を描いたようなもん
151:149
09/02/28 05:50:38
>>150
ありがとうございます
152:デフォルトの名無しさん
09/03/03 10:33:16
DoxyfileもGPLに該当しないのかな。
それとも、コメント部分は削除しておいた方が無難?
153:デフォルトの名無しさん
09/03/03 22:08:28
ソフトのドキュメントを作るのにDoxygenを利用してもGPLにする必要なし。
ソフトの機能としてDoxygenを利用する場合はGPL。
154:デフォルトの名無しさん
09/04/06 21:16:11
@a と @p ってどう使い分けてる?
どっちも文中の引数のフォントを変えるために使うものみたいだけど。
155:デフォルトの名無しさん
09/04/08 12:32:53
\aは「特殊なフォント」ということで一般的にはItalicかな。
\pは\cと等価で「タイプライタフォント」ということで等幅フォントが使われる。
後は、実際の出力を見て検討したら?
156:154
09/04/09 00:04:14
普通はどうする、ということは特になくて、見た目の好みで使えばいいのですか。
ヘルプを見ると、@aは "refer to member arguments" 、
@pは "refer to member function parameters" と書かれてて、
微妙に使い分けがあるようなないような、よく分からなかったもので。
157:デフォルトの名無しさん
09/04/09 07:14:32
意味で使い分ければいいと思う。
フォントとかの体裁はCSSで変えられるんじゃなかったかな?やったこと無いけど。
158:デフォルトの名無しさん
09/04/09 08:11:53
@a の argument が実引数で @p の parameter が仮引数なわけだけど、
コメント中では仮引数しか現れない気がする。実引数が現れることなんてあるか?
159:デフォルトの名無しさん
09/04/09 09:06:56
恣意的に使い分ければいいんじゃね?
>>157
出力するものによって指定するスタイルシートや指定方法は違うけど、htmlならcss,だね。
やったことないけどw
160:デフォルトの名無しさん
09/04/10 04:10:58
member argumentがクラスのメンバー変数ってことはないかな。
161:デフォルトの名無しさん
09/04/10 23:50:56
>>158
@p param1 の値が @a xxx だったら~
みたいな説明を書くのに使うとか?
162:デフォルトの名無しさん
09/04/25 21:37:10
メソッドのコメントは、戻り値がなくても「@return なし」と明示的に書くべきでしょうか?
引数がない場合も同様に「@param なし」と書くでしょうか?
163:デフォルトの名無しさん
09/04/25 21:38:20
前者はお好きにどうぞ。
後者は「なし」なんて引き数はないぞって警告が出るんじゃないかな?
164:162
09/04/25 21:45:11
>>163
レスありがとうございました。
確認したら「@param なし」ではwarning argumentと出ましたのでこれは書かないようにします。
165:デフォルトの名無しさん
09/04/30 13:43:57
今の大会は、開発環境の違いによる面白さもあると思う。
共通スペックでやるなら別に大会をおこせばよいと思う。
166:デフォルトの名無しさん
09/04/30 13:45:15
>>165
誤爆しました。すみません。
167:デフォルトの名無しさん
09/04/30 23:56:10
Doxygen 1.5.9 age
168:デフォルトの名無しさん
09/05/01 00:16:08
さっきまでは1.5.8だったのに。早速試すぜ。
169:デフォルトの名無しさん
09/05/12 10:55:11
ソースの先頭のコメントの 理想的なサンプル を教えて。
言語は問わないけど、出来ればCで。
170:デフォルトの名無しさん
09/05/12 18:22:26
理想的かどうか知らんが、私の典型。
--
////////////////////////////////////////////////////////////////
/// \file foo.c
/// \brief あーたらこーたら
///
/// あーたらこーたらをあーたらこーたらするとかなんとか。
/// \date 2009/3-4
/// \author bar\@site
/// \attention なんだかんだ
/// \version hage.hige.hoge
//
--
171:デフォルトの名無しさん
09/05/13 04:06:28
>>169
とりあえず最小限はこうだろ。 JAVADOC_AUTO_BRIEF オンで。
/** @file
* 簡単な説明.
* 詳細な説明
*/
170 のやつだと、ファイル名はどうせ名前変更したときに更新し忘れるし、
日付や作者やバージョンはバージョン管理ソフトに任せればいい。
詳細な説明も attention も必要に応じて、だな。とにかく書かないで済むものは
書かないのが一番。
172:デフォルトの名無しさん
09/05/13 09:19:41
>>170
ありがとうございます。
>>171
そのバージョン管理ソフトに書かせるので心配ゴム用です。
173:デフォルトの名無しさん
09/05/13 16:20:47
表書くのってtableタグ使うしかないんでしたっけ?
それだとソース上で見づらいんで、
リストみたいに簡易記法があればいいんですけど。
174:デフォルトの名無しさん
09/05/13 22:00:48
doxygenって使ったこと無いんだけど、
ぶっちゃけて言うと、オススメですかい?
175:デフォルトの名無しさん
09/05/13 23:26:06
>>174
おすすめとは言えない
でも面白い使い道がある事は確か
実際に走らせてみて「おー」とか言って楽しむものだと思う
176:デフォルトの名無しさん
09/05/14 09:55:19
>>174
クラス関連図とか、煩いクライアント向けのコーリングツリーを作るのに便利。
# 余程酷いソフトハウスに当たった経験があるのか、関数の依存関係を知りたがるクライアントがいるのよ。
177:174
09/05/14 22:16:15
>>175-176
ほっほー。
ありがとう。
「ある程度習熟するために勉強を要してめんどくさそうだ」
と思っていたが、試してみようかなあ。
178:デフォルトの名無しさん
09/05/14 23:43:40
>>177
コメント付いてないのも全部出力する設定で、
とりあえず手持ちのソースそのまま掛けてみたらいいよ。
それで出来上がるものが気に入れば、それから書き方に慣れていったらいいし。
179:デフォルトの名無しさん
09/05/14 23:50:13
Graphvizの使い方が秀逸だと思う
これは出力結果を印刷してじっくり眺めたい
180:177
09/05/15 06:46:11
>>178
ありがとう。分かった、そうしてみるわ。
181:デフォルトの名無しさん
09/05/15 09:37:18
客先から小汚いソースを受け取ったら、取り敢えずDoxygenに掛けて
静的解析するのは基本だな。
182:デフォルトの名無しさん
09/05/15 10:09:23
>>171
subversionとかの置き換えキーワードもdoxygenは認識してドキュメント化してくれる。
183:デフォルトの名無しさん
09/05/21 13:35:09
ちょっと詳しい説明を箇条書きで入れたいんだけど、
空白行が入るとパラグラフが終わってしまうので、空白行を一切入れないで
長い文章を書かなきゃいけなくなり、なんていうか
ソースコードのコメントが非常に見づらい。本末転倒な気がするんだけど、
空白行を無視してくれる方法とか、ない?
184:デフォルトの名無しさん
09/05/23 02:32:07
>>183
ソースコード上でだけ行間が空いてればいいのなら、
全角スペースを入れておけばどうでしょう?
ドキュメント上で行が連結されたときに、余分な空白が入りますが。
ドキュメントでも行間が空くようにしたいのなら、
行頭の邪魔にならないところにでも「@n」を入れておくぐらいしか思いつきません。
185:デフォルトの名無しさん
09/05/24 13:15:10
doxygenの文字化け対策
URLリンク(d.hatena.ne.jp)
ここに救われた俺がいる。
186:デフォルトの名無しさん
09/05/24 14:01:52
doxygenであるライブラリのドキュメントを作った時、
そのライセンスってどこにどうやって記載すればいいの?
ドキュメント内に表示されるようにしたいんだけど。
187:174
09/05/24 16:39:03
doxygen気に入ってきた。
C++とdoxygen最新版にて。
ドキュメント作ると名前解決に使う::がドキュメントにもりこまれたり盛り込まれなかったりする。
例えばNameS::MyClassが、
ドキュメントの100行目ではNameS::MyClassになっているのに
101行目ではNameSMyClassになっていたりする。
これはどう解決すればいい?
188:デフォルトの名無しさん
09/05/25 10:31:42
>>187
このレスの流れを見ても分かるように、Doxygenは文字コードの扱いが未だ未だ不安定だったりする。
あんたの言う、「ドキュメント」がrtf出力ならこのスレにある対策版を使ってみた方がいいかもしれないし、
chm出力なら>185を参考にするといいかもしれない。
189:デフォルトの名無しさん
09/05/25 20:01:17
>>186
@mainpageコマンドでメインページに入れるか、
@pageコマンドで独立したページにすればどう?
190:174
09/05/25 23:27:45
>>188
ありがとう。
説明不足だったね。
ドキュメントはフツーのHTMLなんだよね~。chmじゃなくて。
>185をやってみたら文字化けは解消したんだけど
>> ドキュメントの100行目ではNameS::MyClassになっているのに
>> 101行目ではNameSMyClassになっていたりする。
この現象は解決しないのだ。。。
191:186
09/05/25 23:41:59
>>189
@pageコマンド
なんて初めて知ったわ。
どこかいい解説サイトとか紹介してくれる
お方、いらしたらお願い!
192:デフォルトの名無しさん
09/05/27 12:59:53
>>191
doxygenに付いてくるサンプルも参考になるよ。
当然全部英語だけど、記述例のソースと
それを使って出力されたドキュメントがある。
コマンドの説明が知りたかったら、
>>1 のサイトの日本語版マニュアルを見ればいいし。
193:186
09/05/27 19:11:01
>>192
そうか、ありがとう。
見てみるよ。
194:デフォルトの名無しさん
09/05/28 03:59:47
いつの間にかDoxywizardもだいぶ使いやすくなったんだな
195:186
09/05/28 06:28:18
俺は最近doxygenを使い始めて、
最初に
Doxywizard
を使ってかなり直感的に操作できたから知らなかったが、
そうなのか。前は使いづらかったのか。
grach
196:デフォルトの名無しさん
09/05/30 12:54:18
#defineマクロ定義をドキュメント(html)に出力させたくて
URLリンク(www.doxygen.jp)
ここを見て
C++ code - 19 lines - codepad
URLリンク(codepad.org)
こんなの書いてみたんですが、
全然#defineマクロ定義が出力されません。
どうすれば良いでしょうか?
197:デフォルトの名無しさん
09/05/30 17:17:56
>>196
define_test.h のファイルのページ自体は出来てる?
実際のファイル名と @file の後ろに書いたファイル名が合ってないとかはないかな、と思ったもので。
198:196
09/05/30 23:13:55
>>197
URLリンク(loda.jp)
こんなHTMLが生成されました。
どうなんでしょう。。。?
199:197
09/05/31 00:25:04
>>198
define_test.h ファイルのドキュメントのページができてないね。
>>196 のソースをコピペして同じ名前で保存してみたけど、
こっちじゃちゃんと出力されてるよ。
Doxyfile 晒してもらえるなら、何が違うか比べてみるけど。
200:197
09/05/31 00:31:38
>>198
もしかして、SHOW_FILESがOFFになってない?
Doxywizard使ってるなら、ExpartのBuildの下の方。
201:196
09/05/31 04:59:33
>>200
丁寧にありがとうございます。
Doxyfileは以下です。
C++ code - 1503 lines - codepad
URLリンク(codepad.org)
お願いします。
202:196
09/05/31 05:04:41
追記:
SHOW_FILES=NOになっていましたが、
YESにしても変わりませんでした。
私の環境は
windows xp sp2
doxygen 1.5.9です。
203:197
09/05/31 05:45:10
>>201
WARN_IF_DOC_ERROR を ON にしたら判明した。
ENABLE_PREPROCESSING が OFF だとマクロは見てくれないらしい。
204:197
09/05/31 05:51:37
補足
WARN_IF_DOC_ERROR を ON にしたら、
「マクロにコメント書いてるけど、ENABLE_PREPROCESSINGがOFFだからスキップしたよ」
というようなメッセージが表示された。
205:196
09/05/31 14:59:44
>>204
ありがとうございます。
WARN_IF_DOC_ERRORとENABLE_PREPROCESSINGをYESにしてみましたが、
結果は代わりありませんでした。
Doxyfileはこちらです。
URLリンク(codepad.org)
設定を読み込み直していないなどということはなく。
doxygenのウィンドウに表示される情報は
URLリンク(codepad.org)
の通りです。
すみませんがよろしくお願い申し上げます。
206:196
09/05/31 22:27:30
追記:
テキストエディタでDoxyfileを開き、
= NO
を検索して全て
= YES
に置換してみました。
それでdoxygenを走らせたところ、見事#defineは出力されました。
やはり設定が問題な様です。
207:196
09/05/31 22:43:14
どこの設定が問題なのか探るために
Doxyfileにて二分木法的にNOをYESに置換してみました。
ファイルのど真ん中の行を基準に上だけないし下だけを
全部NO→YES置換を行いました。
しかし、このどちらも#defineが出力されません。
やはり複数の設定項目が関わっているようです。
208:196
09/05/31 22:56:12
解決しました。
正解は
・ENABLE_PREPROCESSINGをYESにする。
・SHOW_FILESをYESにする。
でした。両方が同時に満たされていないとだめなようです。
お手数をおかけ致しました!
209:197
09/06/01 01:23:37
>>205-208
解決したようなのでもういいかもしれないけど、
WARN~系の設定は、出力状態を変更させるためのものではなくて、
コメント付けてるのに出力されない設定になってるとか、
記述漏れがあるとか、そういうエラーメッセージを表示するためのもの。
今後何かうまくいかないときに参考になるかもしれないので念のため。
210:196
09/06/01 05:54:55
>>209
はい、WARN~系の設定に関して、よく頭に入れておきます。
ありがとうございました。
211:デフォルトの名無しさん
09/06/01 23:20:24
Windows XP SP2, doxygen 1.5.9です。
htmlドキュメントを生成すると、
本文中のstd::coutのようなスコープ解決演算子が消えてしまい、
stdcoutになってしまうことが多々あります。
再現するソースやその結果のhtml, Doxyfileは以下の様です。
URLリンク(loda.jp)
具体的にはこのソースにて
Test::foo()は
numをstd::coutに出力します。
になるはずが
Test::foo()は
numをstdcoutに出力します。
になってしまいます。
再現条件は絞れておりません。
どうかお知恵をおかしください。
よろしくお願い申し上げます。
212:デフォルトの名無しさん
09/06/02 02:54:51
>>211
理由はよく分からないけど、std::coutの前後に空白を入れたら正しくなりました。
識別子っぽいものに非ASCII文字がくっついてたらおかしくなるってことじゃないかと思うんですが。
213:211
09/06/02 06:08:56
>>212
たしかに、前後に空白で正しく表示されます。
本当に適用したいソース(再現用ソースでない)でもうまく表示されます。
ありがとうございました。
214:デフォルトの名無しさん
09/06/02 23:53:16
>>195
今のdoxywizardはver.1.5.8(去年の暮れ頃)からですね。
基本的な設定項目だけのwizardモードと、
設定可能な項目が全部表示されるexpertモードの2本立てというのは
昔も今も変わりませんが、
設定を変えたら保存しないと実行できなかったとか、
設定項目のセクション切り替えがタブで、expertモードだと
たくさん並んでるのをぐるぐるスクロールさせる必要があったとか、
細かいところで少し不便でした。
マニュアルに載ってるスクリーンショットは旧バージョンのような気がします。
215:デフォルトの名無しさん
09/06/02 23:58:29
doxygenで、1カ所に書いたコメントを複数箇所で参照する方法はありますか?
例えば、
hoge.h内で@version 1.1.1
という記述が同じhoge.h内で他にも複数箇所に登場する場合、
全部に@version 1.1.1と書いてしまうとバージョンを上げる時に
全箇所を手動で修正する羽目になってしまいます。
どうにかする手段はありますか?
216:デフォルトの名無しさん
09/06/03 02:07:50
>>215
設定ファイルのALIASESで@version 1.1.1に別名をつければ、
バージョンを上げるときはそこだけ変えればOK
というのはどうでしょう?
217:デフォルトの名無しさん
09/06/03 03:43:33
質問です。
いままでのプログラムは以下のようにコメントしていたのですが、
doxygenでは/** */の形式にしないとドキュメント作成はできないのでしょうか?
コメント部分を目立たせたいので、できれば今までのコメント形式を維持したいのですが・・
今までのコメント例
//********************************************************
// Test.cpp
// 2009.09 by Tester
// テスト用のクラス
//********************************************************
これを
/**
*
*
*
*/
形式にするのは少し抵抗があります
218:デフォルトの名無しさん
09/06/03 08:40:05
>>217
特定の形式にしないと、ドキュメントにしないコメントと区別できないですからね……
使えるコメント形式はマニュアルの「Documenting the code」にいろいろ例があります。
(日本語マニュアルは古くて少し情報が少ないです)
今までのに比較的近いのは
/*****************************************************//**
* Test.cpp
* 2009.09 by Tester
* テスト用のクラス
*********************************************************/
でしょうか。
219:デフォルトの名無しさん
09/06/03 10:41:33
>>217
最初と最後の //****** はそのままで、途中の行だけ先頭の//を3文字にすればいい
220:デフォルトの名無しさん
09/06/03 10:48:32
つまり、こうだな。
//********************************************************
/// \file Test.cpp
/// \date 2009.09
/// \author Tester
/// \brief テスト用のクラス
//********************************************************
221:デフォルトの名無しさん
09/06/03 16:06:28
>>217
俺も抵抗があったけど、
変えてみたら意外と平気だったよ。
要は見慣れるかどうか。
222:デフォルトの名無しさん
09/06/03 16:09:51
>>216
ALIASES
なんてものがあるのですね。
ありがとうございます、試してみます。
223:デフォルトの名無しさん
09/06/03 22:23:44
>>218-221 thanks
ですが、ファイルの最初のコメントを
//********************************************************
/// \file Test.cpp
/// @file TEST.cpp
//********************************************************
と色々やってみたのですがうまくいきませんでした・・
ファイルの最初だと///ではドキュメント化されないのでしょうか
クラス宣言前や関数前では///で書いたコメントはちゃんとドキュメント
のコメントとなっておりました。
ちなみに、ファイル一覧からコードを見るとなぜか明朝体?で表示されてしまいます。
以下のドキュメントのようにゴシック表示をしたいのですが、Font設定はどのようにすればよいでしょうか?
URLリンク(www.ee.t-kougei.ac.jp)
224:デフォルトの名無しさん
09/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:デフォルトの名無しさん
09/06/03 23:10:52
さらに追加質問ですいませんorz
出力されたドキュメントは任意の名前のフォルダに作成されますが、
index.htmlが他の細かいファイルと一緒のフォルダにあるため探しづらいです。
そのため、index.htmlだけ残して他のファイルを別のフォルダに押し込む
というようなフォルダ構成を構築したいのですが、そういったことは可能でしょうか?
226:デフォルトの名無しさん
09/06/03 23:33:53
>>223
ファイルの最初のコメント:
ファイル名の大文字・小文字の問題かもしれません。
ファイル名無しで @file だけにしてみてはどうでしょうか。
フォント:
フォントはデフォルトのスタイルシートで、
font-family: Lucida Grande, Verdana, Geneva, Arial, sans-serif;
と設定されてるので、
特にカスタマイズしてなければゴシックで表示されるはずなんですが。
>>224
対象を指定しないドキュメントは、直後にあるものに関連づけられます。
ファイルに関するコメントにしたいなら、@file が必須です。
227:デフォルトの名無しさん
09/06/04 08:53:01
>>224
本題とは直接関係ないと思いますが、ドキュメントに「 * 」が入ってるのが気になりました。
コメント行頭の「 * 」のところ、全角スペース使ってませんか?
228:デフォルトの名無しさん
09/06/04 23:00:02
>>226-227
thanks.
一度doxygenを全削除して再インストールしたら
なんとかファイル要約関連のコメントはでるようにできました。
229:デフォルトの名無しさん
09/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.
これだと冗長な感じでちょっと抵抗があります
230:デフォルトの名無しさん
09/06/05 02:50:49
っ nameタグ
231:デフォルトの名無しさん
09/06/05 09:01:35
>>229
普通は、一つのコメントで括られるような変数は構造体に入れるもんじゃね?
232:デフォルトの名無しさん
09/06/05 19:33:13
>>231
おお、良いこと言った!
233:デフォルトの名無しさん
09/06/05 22:02:00
>>231
座標とかだと、配列の方が扱いやすいかも
構造体の方が見やすいけどね
234:デフォルトの名無しさん
09/06/06 08:55:20
C++ code - 50 lines - codepad
URLリンク(codepad.org)
これから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:デフォルトの名無しさん
09/06/06 09:13:44
>>234
マニュアルの「Grouping」(日本語版マニュアルだと「グループ化」)のページを見てください
236:デフォルトの名無しさん
09/06/06 09:55:14
>>235
それで出来るのですね。
ありがとうございます。見てきます。
237:デフォルトの名無しさん
09/06/06 11:53:22
doxygenで作ったthtmlドキュメントの
若干ながらフォントサイズが小さすぎると感じます。
このフォントサイズを大きくすることはできますか?
238:234
09/06/06 20:44:39
C++ code - 17 lines - codepad
URLリンク(codepad.org)
とりあえずこの様にしてみました。
/** document former */
がメンバ関数全部について、
/** document latter */
がメンバ関数void func_1_InGroup1()だけにつくかと期待したのですが、
結果は
void Test::func_1_InGroup1に
document former document latter
と付いただけでした。
どこが誤っているでしょうか?
よろしくお願いいたします。
239:234・238
09/06/06 20:56:51
C++ code - 26 lines - codepad
URLリンク(codepad.org)
とりあえずこれで行けそうです。
・・・法則性がわからない。
240:デフォルトの名無しさん
09/06/06 22:29:27
法則性はその>>238と>>239の違いの@nameの有無の部分ですよ。
マニュアルより:
ブロックの開標識の前に、独立したコメント・ブロックを置くこともできます。
このブロックは、@name (または、\name) コマンドを含む必要があり、
グループのヘッダーを指定します。
そうしたければ、グループに関するより詳しい情報をコメント・ブロックに
含めることもできます。
241:239
09/06/06 22:36:14
>>240
doxygen用語の理解が今ひとつ足りなかったようです。
親切にありがとうございました。
242:デフォルトの名無しさん
09/06/07 12:54:49
Use built-in class diagram generator
だと継承に関するクラス階層図がうまく表示されますが、
Use dot tool from the GraphViz package
だとうまく表示されません。
このようなHTMLになってしまいます。
URLリンク(loda.jp)
(これには再現する簡単なソースとDoxyfile、出来上がったHTMLが含まれています。)
環境はWindows XP SP2で、
doxygenはdoxygen-1.5.9-setup.exeを使ってインストールしました。
GraphVizはgraphviz-2.22.2.msiを使ってインストールしました。
GraphVizの問題だとしたら若干スレ違いかもしれませんが、
よろしくお願いいたします。
243:242
09/06/07 13:43:31
C++ code - 25 lines - codepad
サンプルソースが腐ってたので
URLリンク(codepad.org)
これでお願いします。
244:デフォルトの名無しさん
09/06/07 23:01:58
>>242-243
DOT_FONTSIZEが小さい(デフォルト値は10)のが気になりますが、
正直なところデフォルト設定と余りに違いすぎて、それだけなのかどうかは何とも。
もしこだわって作りこんだ設定でないのなら、一度デフォルト設定に戻して、
最低限必要なところだけ変えるようにしてみてはどうでしょう?
デフォルト設定にはメニューから[Settings]→[Reset to factory defaults]で戻せます。
245:デフォルトの名無しさん
09/06/08 00:35:20
>>242
どこを問題視したいのか判らんが、HAVE_DOTがNOだからクラス階層図が出ないのは当たり前なんだが。
つーか、>>244も含めて
Doxyfile位真面目に読んでくれ。
246:242
09/06/08 06:55:17
>>244-245
ありがとうございます。
教えを頼りに読んできます。
247:244
09/06/08 08:39:21
>>242, >>245
>>242のドキュメントではdotファイルが吐かれてるし、
クラス階層図はdotファイルの内容どおりに生成されてます。
文字が読めないのはフォントサイズが4のためです。
コラボレーション図はdotにノードがなぜか出力されてませんが、
画像ファイル自体は真っ白なのが存在していて、
dotファイルの内容どおりには生成されているといえます。
なので、これらはHAVE_DOT=YESの状態で生成されたはずです。
DoxyfileはHAVE_DOT=YESにする前に保存したものと思われます。
dotの中身が異常なので、ほかに問題があると思います。
248:デフォルトの名無しさん
09/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);
みたいな宣言もちゃんと処理してくれる?
249:242
09/06/08 16:17:43
>>247
ありがとうございます。
全然こだわって作りこんだ設定ではありませんので、
デフォルトに戻すことに抵抗はありません。
いろいろ教えの通り試してみます!
250:デフォルトの名無しさん
09/06/08 22:09:14
URLリンク(appleloader.bbsnow.net)
Exportタブに何も表示されないのですがバグですか・・・?
ノートPCでは表示されました
両方 WinXP 32bit SP3 です
251:デフォルトの名無しさん
09/06/08 22:48:53
>>248
__declspec()は関数と誤認識されるので、
PREDEFINED で __declspec(x)= を定義するなどして、
プリプロセス時に取り除いてやる必要があります。
(マニュアルの「Preprocessing」に書かれてます)
252:デフォルトの名無しさん
09/06/08 23:24:43
>>250
eeepc + winxp でやってるけど、ウチも全く同じ現象になるよ。
253:250
09/06/09 19:08:32
レスありがとう。
じゃあエクスポートタブの設定はできないのですかね・・・?
日本語マニュアルを作成したいので以下の設定をしたいのですが
設定する箇所は2箇所です。まずProject内にある「OUTPUT_LANGUAGE」をJapaneseにします。これで日本語マニュアルが作成されます。ただ、このままだと文字化けが起こります。
続いて、Inputの中にあるINPUT_ENCODINGに「CP932」と文字を打ちます。CP932というのはMicrosoftなどが拡張したShift-JIS文字コードです。Visual Studioなどのソースコードはこの文字コードを指定するとDoxygenでうまく読み込んでくれます。
改善方法分かる人いたらアドバイスください よろしくお願いします
254:デフォルトの名無しさん
09/06/09 19:38:26
>>253
設定内容を保存したファイルはテキストなので、直接編集できますよ。
255:250
09/06/09 19:54:02
>>254
お!
ありがとうございます
256:デフォルトの名無しさん
09/06/09 21:16:16
>>255
念のため。
PROJECT_NAME 等に日本語を使ってる場合、UTF-8で保存されてるので気を付けて。
257:デフォルトの名無しさん
09/06/11 21:35:53
doxygen20090611.zip - uploader_nrnrnr
URLリンク(loda.jp)
この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:デフォルトの名無しさん
09/06/11 22:23:30
関数テンプレートなどの
テンプレート引数を出力する項目は作れませんか?
259:デフォルトの名無しさん
09/06/12 01:24:59
>>257
MAX_INITIALIZER_LINES を 0 にするのはどうでしょう?
変数の初期値なども全部表示されなくなりますが。
260:デフォルトの名無しさん
09/06/12 01:58:14
>>258
@tparamで出来るらしいです。
261:258
09/06/12 08:02:39
>>260
ありがとうございます。
助かります。
262:257
09/06/12 19:21:47
>>259
MAX_INITIALIZER_LINESを0にする方法でいけそうです。
ありがとうございます。
263:デフォルトの名無しさん
09/06/12 19:54:28
doxygenの公式サイト(英語版)
が見たいのだが、リンクが死んでいる気がする。
それとも単に落ちただけだろうか?
264:263
09/06/12 23:59:05
単に落ちただけだったようだ。
勝手に騒いでスマソ。
265:デフォルトの名無しさん
09/06/20 18:37:54
保守
266:デフォルトの名無しさん
09/06/20 21:38:29
Windows XP SP2, doxygen 1.5.9です。
Sample.h
URLリンク(codepad.org)
これでhtmlドキュメントを生成させますと、
クラス階層図(継承関係)
が表示されません。
class Sample は std::runtime_error をpublic継承しているので
この継承の様子をGraphVizでグラフ表示させたいと思っているのですが、
どうすればよろしいでしょうか?
ソースとDoxyfile、出来上がったHTMLは
URLリンク(loda.jp)
です。
同じDoxyfileを使っても、関数の呼び出し関係は
うまくGraphVizでグラフ化されて表示されています。
よろしくお願いいたします。
267:デフォルトの名無しさん
09/06/20 22:08:18
>>266
HIDE_UNDOC_RELATIONS が YES だからじゃないかと思いますが、
NO にしてもライブラリからの継承まで図に含めてくれるかどうか。
INCLUDE_PATH にコンパイラのヘッダファイルのパスの設定もして試してみてください。
268:266
09/06/20 23:31:56
>>267
HIDE_UNDOC_RELATIONS
をNOにしたところ、
> INCLUDE_PATH にコンパイラのヘッダファイルのパスの設定
これをしなくても希望通りになりました。
URLリンク(imagepot.net)
感謝感激です。
どうもありがとうございました。
269:デフォルトの名無しさん
09/06/26 21:24:59
保守
270:デフォルトの名無しさん
09/07/02 07:40:28
>>250
どうもパネル作成時のミス?のようです。
Exportタブの中身はWizardタブと同じように左右分割されているらしく、
「左側の何も無いパネル」「右側の設定パネル」という風になっています。
それで「左側の何も無いパネル」の幅が最大になっているため、
何も表示されていないように見えるようです。
マウスを右端に移動させるとカーソル形状が変化しますので、
そのまま左にドラッグすると設定内容のパネルが見えるようになりました。
271:270
09/07/03 02:55:10
少し訂正
左右分割だけではなく左側が上下に分割された3ペイン方式でした。
「左側の何も無いパネル」のように見えるますが下のほうに移動してるだけでした。
270と同じように下から上にドラッグすると表示物が見えるようになります。
272:デフォルトの名無しさん
09/08/08 18:05:25
保守
273:デフォルトの名無しさん
09/08/08 18:32:18
Windows XP SP2, doxygen 1.5.9です。
URLリンク(loda.jp)
このSample.hを同じくこのDoxyfileで
HTMLドキュメント化したのですが、
文字サイズが小さくて困っております。
DOT_FONTSIZE = 100
FORMULA_FONTSIZE = 100
の様にしてみても、フォントサイズが変わりません。
sakura-editor: クラス CDlgCancel
URLリンク(sakura-editor.sourceforge.net)
ここにあるような
文字サイズにしたいのですが、どうすればよろしいでしょうか?
よろしくお願い申し上げます。
274:デフォルトの名無しさん
09/08/08 20:32:24
>>273
ドキュメント見てみたけど普通の文字サイズだと思うけど。
そういえば最近のバージョンはちょっと前のより文字サイズ小さいかも。
DOT_FONTSIZE はグラフの文字サイズ、FORMULA_FONTSIZE は式の文字サイズです。
文字サイズを変えるにはスタイルシートをカスタマイズすることになると思う。
やったことないけど、マニュアルによると、
doxygen -w html header.html footer.html stylesheet.css
でデフォルトのファイルを出力して、それを書き換えて
Doxyfile の HTML_STYLESHEET でそのファイルを指定するらしいです。
275:273
09/08/08 21:27:14
>>274
その方法で解決できました。
文字サイズは見る人によって好みがあると思っていましたので、
stylesheet.cssのフォントサイズ指定の部分を削除しました。
これにより人によって好みの文字サイズにブラウザ側で変更できるようになりました。
(前はブラウザ側でも文字サイズの変更が(通常操作の範囲では)できませんでした。)
どうもありがとうございました。
276:デフォルトの名無しさん
09/08/12 12:31:12
Doxygen
で表を表示する方法を教えてください。
URLリンク(www.doxygen.jp)
ここの<table>タグ以外にはありますか?
277:デフォルトの名無しさん
09/08/12 12:45:02
Doxygenはドキュメント生成ツールであってドキュメント記述言語ではないから
適宜表は表示されるよ。例えば関数一覧とかファイル一覧とか。
任意の表を記述したいと言うことなら話は別で。
元々html自体に表を記述するタグはtable以外にはないに等しいからねぇ。
横方向に高々2カラムしかないなら<ul>などで代用できなくもないけれど。
278:276
09/08/12 13:14:58
>>277
ありがとうございます。
良さそうなのでもうすこしマニュアルを読み込んできます。
279:デフォルトの名無しさん
09/08/14 02:53:06
>>276-278
私も任意の表をお手軽に作る方法はないかなと思ってました。
今ふと思いついたんですが、関連のタグの組み合わせをALIASESで簡略化したらちょっとはマシかも。
280:デフォルトの名無しさん
09/08/21 00:30:09
保守
281:デフォルトの名無しさん
09/08/22 01:18:19
Doxygen 1.6.0 age
282:デフォルトの名無しさん
09/08/22 16:54:46
Doxygen 1.6.0で何か変わったことある?
設定とかは変わってないよね?
また設定しなおしとか嫌よ。