【コメント】doxygen【コンソメ】
■ このスレッドは過去ログ倉庫に格納されています
doxygenで出力されるのは通常htmlで、phpじゃないよ。
そうでなくても、このスレで聞くのはスレ…いや、鼬害。 \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 >へのリンクを張りたいのですが。 書き忘れていました。
今は、クラスAのドキュメントから\saでリンクを張っています。
しかし、Related Functionsと同列にできないものか、と思ったのです。
後出しですいません。 >>501 >>502
doxygenで構築されるのはhtmlなのか。
ソースコード向けホームページ作成ツールみたな認識でいいんかな。
ってことはdoxygenを仮にインストールしたとして、WEB上にあるdoxygenで出力したページはhtmlとかだからgitみたいにダウンロードするとかそういうのも無いんか
ちなみにURLはこれ
ttp://www.arongranberg.com/astar/docs/ >>506
使った事はないけどpdfへの出力もサポートしてるよ。
Output Formats
http://www.stack.nl/~dimitri/doxygen/output.html TeXからps経由でpdfにするのは日本語の扱いで結局満足いく出力になったことがないんだよなぁ。
rtfからdoc経由でpdfにするのはMS-Office2010があれば日本語も大丈夫なようだけど。 New features 見てみた。External Indexing and Searching 面白そうだな。
ttp://www.stack.nl/~dimitri/doxygen/extsearch.html 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
としています。個別でも構いません解決方法ご存知の方はおられませんか。 >>512
INPUT_ENCODING=CP932
の方がいいと思います。
後は、MS WORD で読み込んで全文選択した後フィールド更新 >>513
早速やってみたら全てきれいに解決しました。
ありがとうございました。 >2.3ページ目が「目次 Tavle of contents」となり出力されない
なんだこれ。 >>515
「目次 Table of contents」のパンチミスでした。m(__)m 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は結構イメージしたものに近い出力だったのですが >>518
ソースもcp932にしないと難しいかもね。
それと、word2010にしたら改善するかもしれない。
いずれにしても、日本語は相性悪いよ。
そうそう、JapaneseでダメならJapanese-enも試してみる価値あり。 1.8.3.1で、C言語でグローバル変数を使う時に、
(foo.h)
extern int a;
(foo.c)
int a;
って書くと出力にaが2個現れるのですが、仕様でしょうか @addtogroupでcとhを同じグループに入れた時だけ>>520みたいな状態なので、とりあえずexternの部分だけグループから外します externはグループから外さなきゃいけないか
まあそりゃそうだな
失礼しました doxygenを意識していないソースコードに
doxygen用のコメントのテンプレートみたいなのを書き込む機能ってありませんか?
例えば
class Hoge
{
...
};
などとあったら
/**
* @brief brief of Hoge
*
* detail of Hoge
*/
class Hoge
{
...
}:
のようなコメントを挿入するような >>523
んなもん、Doxygenにあるわけないだろ。
LL言語で作るかエディタのマクロで作るかすればいいだろうが、それはスレ違い。
あぁ、JavaDocスタイルを有効にしておけば、もそっと簡単になるな。 でもそれこそdoygenにパーサがあるわけだから、doxygen内蔵でそういう機能があったらいいなとお思うのは
自然で低コストだべ? VisualStudio で C++ なら DoxyComment だろうけど。 >>527
これ便利そうやな
コマンドライン版ある? >Express Editionでは使えません
チクショー! 細かいのはヘッダファイルに書く派? ソース本体に書く派? 本体と別々にdoxygenコメントを書くことはねーよ。doxygenのいいところが全く無駄になるだろ。
ヘッダファイルに書くのは前方宣言とマクロ定義くらいだから当然ソース本体にしかdoxygenコメントなんざ書かない。 @parのなかでPREタグ使いたいんだけどうまくいかない
AAとか書くときってみんなどうしてるの? >>534
きみの思いとか気持ちを聞いているわけじゃあないんだ。 わかるね? >>536
┌─┬─┬─┬─┐
│あ│い│ │お│
└─┴─┴─┴─┘
こういうのとか >>531
俺はヘッダに書くね
実装する時はヘッダから見るし >>532と>>540、よくどちらも聞くしどちらも一理あるんだけど
どっちがより一般的なのかな。 長いものに巻かれたい。 調べても分からなかったので、質問です。
同じ引き数の関数をまとめたいですが、どうすればいいでしょうか?
以下のようにしたいです。(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 Doxygen使ってるプロジェクトのドキュメントとかを見てみたけど
複数の関数をまとめて表示してるのは全く見つからなかった…
\refはグループ化とかしないと行けないっぽいし若干敷居が高い…
とりあえずバラでドキュメント化しておくよ
どうもでした >>545
C++だけど何か変か?
もちろんサンプル用にその場で書いただけなんだけど もうちょっと分かり易く書くと
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++なのに第一引き数にオブジェクトの指定が必要だけど、
別に変ではないよ 変なのは分かったから、ちゃんと具体的に言えないの? 君に使う時間ないし
強烈に変だと思ったからそれだけ伝えたかっただけ あ、でもFruitsの定義とbool add_apple()の定義を書くというなら、そのコードのどこがおかしいかは指摘できる まあC++の天才と謳われた俺に書かせれば
bool add ( string fruits_type, Fruits* fruits, int_add_num )
かな。
かなりスマートな設計になっているのが分かると思う。 Fruits fruits;
fruits.add("apple", 10);
とかするのが普通な気もするが。 bool add_apple(Salud* salud, int add_num); // 成功 true 失敗 false
も定義しておけば、
Salud salud;
Fruits fruits; // Salud と継承関係はない
add_apple(salud, 10);
add_apple(fruits, 10);
と出来るメリットもあるので、一概にどれがいいとは言えない
状況による まさかそんなあからさまなtypoに対して
「ところで、それ言語なんなの?」なんてドヤ顔でレスするのは想像の範囲外だわ >>562
こういうのも「嘘を嘘と」の一環じゃねえかと思うんだが >>561
> これじゃね?
違うよ
> 「ところで、それ言語なんなの?」なんてドヤ顔でレスするのは想像の範囲外だわ
一見C++なんだが、俺の知らない言語の可能性もあるので聞いた
>>560
> 状況による
まあ確かにそうなんだが、俺の見立てではどんな状況でも糞
> Salud salud;
> Fruits fruits; // Salud と継承関係はない
>
> add_apple(salud, 10);
> add_apple(fruits, 10);
も糞だ 設計思想を語りないなら他に行ってくれ。
まぁ、相手にされないからこんなニッチなところで管巻いているんだろうけど。 >>565
別に語りたくないし
変な物を変だと言う自由もないのかこのスレは まあ、どこの誰かもわからん俺みたいな奴に変だの糞だの言われても、
自分に絶対の自信があれば無視しとけばいいだけの話だよ まあ、上のコードとか見ると
doxygen 使う以前にもっと読みやすいコードを書く練習しろよとは思う。
doxy られても読む気がしなそうだぜ。 まぁとりあえず、4回も5回もどうでもいい書き込みしなくても
どう糞なのかを1回書き込んでくれれば、それでいいんだよ flase対するツッコミだったほうがまだマシだったよーな・・・ とりあえず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; // 続き
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();
}
} Doxygen 1.8.6 age
http://www.stack.nl/~dimitri/doxygen/manual/changelog.html#log_1_8_6 C++11のfinalキーワードに対応してないからクラス名が変になる
多分overrideにも対応してない Windows7でdoxywizardを使ってドキュメントを生成しているのですが、
出力されたログを見るとどうもすべての標準出力が先に出力され
その後に標準エラーがまとめて出力されているようです。
コマンドプロンプトから実行した時のように
標準出力でも標準エラーでもプログラムが出力した順に
出力されるようにしたいのですがどうすればよいでしょうか? >>575
Doxywizardを使わなきゃいいんじゃね?w ある関数の概要って、どこに書けばいい?
関数の前に書くの? >>577
うちの場合、宣言がある場合はその直前、ないなら定義の直前。 ヘッダに書く派とソースに書く派の論争は
ドキュメントコメントが生まれたときから続いてるからな Qtはソースに書いてあって、Doxygenはヘッダに書いてある。
ヘッダとソースだとソースの方が長くなるので、ヘッダに書く派の気持ちはわかる。
でも俺はソースに書いてる。 あと、ヘッダに実装も書く派が増えてきてるので、それはヘッダに書いたほうが良い理由になるかもしれない。
まあ別に、全然関係ないファイルに書いてもいいんだけど。 それでも俺がソースに書く理由は、ヘッダを索引に使ってるから。
本の目次に概要が一緒に書いてあったら50ページくらいに分量になって索引の役に立たないみたいな感じ。
今のエディタは、上に索引が付いてるし、クラスビューもあるから意味ないのかも。
でも、プルダウンリストって読みにくいんだよね。 >>583
なるほど。 俺は昔からヘッダをマニュアルとして使っていたから
その流れでdoxygenを知って俺のためのツールだと歓喜したよ。
なので今でもヘッダに書く派なんだよね。
PHPとbゥやるときはいbツもむずむずすb驕B 非常にフォルダが細分化されていてとてもinputに手動で登録したくない数なんだけど自動で階層降りてって全部ソース拾ってくれる機能ないの? >>586
それは本当に自己で解決したのか?
偉大なる先人の知恵を拝借したのではないのか? C++で function_>.html というファイルを作ろうとしてエラーになる
回避策を教えておくれ
環境は Windows 版バイナリ 1.8.13 >>589
そう
Windowsでは使えない
多分 operator function 用のファイル名に
こういうファイル名を使おうとするんじゃ無いかと思う
SHORT_NAME を有効にすれば変わるかとも思ったんだけど
変化なかった ひとかたまりにコメントをつけたいんだけど
どうしたらいい? >>593
ありがとう
ついでに
構造体のビットフィールドを図にしたいんだけど
doxygenじゃやってくれない? 入出力に構造体やクラスがあるとき
「このメンバーを使います」 というのを明示したいんだけど
どうしたらいい? 僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』
GIUEM 2、3時間迷った。
Private変数が出ないから。
これは罠だな。
https://i.imgur.com/N4ZDw3L.jpg ■ このスレッドは過去ログ倉庫に格納されています