いや、まだだから

やまだの仮想庭園 ~ いつか実体の伴う日まで

目次

Blog 利用状況

記事カテゴリ

書庫

日記カテゴリ

リンク

Sandcastle C++ 苦闘編

ネタ元: ドキュメントの加工方法、 あと片桐さん家のSandcastle関係いくつか

 

ちっ、秋風が身にしみるぜ……。

まぁ、敗残の兵には語る言葉はない、という話もありますが、これを踏み台にしてくれればよいかなぁ、と。

#今日はなんかしらんが会社が振り替え休日らしい。なので、ネタの手を広げてみる。連休の使い方間違ってないか? > 自分

 

まず、お声をかけていただいたわけですよ。

「Sandcastle っていうのがあるって言ってたよね。あれ使ってみたいんだけど」

やたっ、使用者が増えるぞっ。

「じゃあ、説明させてもらいますよ。で、言語はなんですか?」

C#?VB?……あれ、確かこの人って……。

「C++ なんだけど」

まて、おい。でも、、まあ、.NET ならなんとかなるんだろうな、きっと。

「VC++ 6.0 なんだけど。あー、でも C++ っていうよりは C として使ってる感じかなぁ」

「……時間ください」

 

てなことで、VS2005用にコンバートされたコードをもらってきて、……おい、そもそもコメントってどーやって書くんだ?

いや、XML タグで書くんだろう、きっと。そのときのコメントフォーマットは決まってないのか?
// でよいのか? /* か? /** か? /// とかしたりすんのか?

こーゆーときこそスニペットが……どうして C++ だと反応しないんだよぉ。C# なら /// で、VB なら ''' で XML タグの雛形がでるのにぃ。

……も、いいもんね。ひとつづつ、どれだと XML タグに埋め込まれるか確かめていっちゃるけんね。

で、/// で書けば少なくとも出力される XML には反映されることを確認。一歩前進ーっ!

 

じゃ、次は Sandcastle で変換だーっ! Sandcastle Help File Builder を起動して、さぁ Go !

 ……。

……なんでエラー吐いて止まりやがるかな、こいつは。

はいぃ?えーと、それっていわゆる NullPointerException じゃん。んなもの、処理してねーのかよー。
乗りかかった船、この際、どこにバグがあるか調べちゃる。ふむふむ、Sandcastle Help file Builder の方やね。
……あった。これだ、VersionInfoComponent.cs。

……いーのか、こんなコーディング。XML を処理してるのに、単なるパターンマッチングでループ回してるよ。 "/assemblies"  を見つけたら終了って……。
しかたないので、応急処置として "assemblies/" を見つけた場合も終了条件に追加しておく。
#アセンブリ本体がない場合は別の特殊処理が必要か、というところまでは未検証。いや、業務でもないのにそこまで調べてらんねーし。

 

さぁ、これでどうだ!

あのー、こんどは Sandcastle 本体がエラー吐いている感じなんすけどぉ。

『書けねーよ!ディスク容量足りないんじゃないの?』って言われても、まだ GB 単位で空きがあるんすけどぉ。

……果てた。orz

CTPだからそーゆーもんかもしれないけどさぁ、……誰か解決してください。

# それとも、どこか根本から使い方を間違えてるのかなぁ?

 

久しぶりに Doxygen でも触ってみっかー。

投稿日時 : 2007年10月5日 11:55

Feedback

# re: Sandcastle C++ 苦闘編 2007/10/05 13:27 とっちゃん

とりあえず...
http://www.ailight.jp/blog/sha256/archive/2006/01/26/11022.aspx

でも、ここまでは解決してるっぽいなぁ...w

# re: Sandcastle C++ 苦闘編 2007/10/05 14:36 やまだ

とっちゃんさん
>でも、ここまでは解決してるっぽいなぁ...w
現状、Microsoft の公式サポートとしては XML を吐くとこまでなんすよねぇ。そこまでは行くんですけど。
で、ドキュメントビルダとして sandcastle が出てきたわけですが、思うにこれは C++ のことをまだあまり考えていないのではないかと。
追わなきゃいけない依存関係とか C++ だと多いのかもしれないですね。それでバッファの許容量あふれてるとか、なのかなぁ?

ま、今回話を持ってきた人も「急いでないし、sandcastle でないといけないこともない」と言ってたので、ぼちぼち代替案を探してみます。
でも、どうせなら使わせたいんだけどなぁ……。

# re: Sandcastle C++ 苦闘編 2007/10/05 14:44 とっちゃん

やっぱり吐き出すXMLまでは問題なしか...w

となると、ドキュメントビルダとして、C++ をどう見るか?
にかかってきますねぇ...
将来に期待...?w

えー...ここから本音...
SandCasle は、砂上の楼閣なので、骨太のC++を食わせるとこけるのはある意味道理ではないかとw

もともとの NDoc もC++なにそれ?おいしいの?だったはずだしw
食わせる前のXMLを一度詳細調査したほうがいいかもw

# re: Sandcastle C++ 苦闘編 2007/10/05 14:57 やまだ

とっちゃんさん
#リプライ早いっす。ありがとうございます。
> SandCasle は、砂上の楼閣なので、骨太のC++を食わせるとこけるのはある意味道理ではないかとw
私もそんな気がしました。なので、ビビリながら sandcastle でやってみたのですが。
「C++だとここまでしかできないよー」とかならまだしも、いきなり落っこちやがりますかよ、てめーはよ
……ってな感じですかね。

>食わせる前のXMLを一度詳細調査したほうがいいかもw
ですねー、それが本筋だと思います。
ちょっとその辺は根性にかけるところで。……困ったもんですねー。
#あれ?いつの間にか Sandcastle じゃなくて私が困りものだという話になってる?

# re: Sandcastle C++ 苦闘編 2007/10/05 15:39 とっちゃん

アー大丈夫。
おいらは、さらに困りもので、テメーの理論は語っておらんですw<おい!

もともと、VS自身もC++ の XMLコメントについてはあまり多くは語っていないので
正直なところ、どの程度いけるのか?(SandScaleに限らず)
と言うのはあるんですよねw

VS2008では結構見直しはいってるし、やっぱり捨てない(今後も成長は続ける)という方向で確定してるっぽいので
SandScale側でも頑張ってほしいところなんですが...w

いや、それより、VSになんかそれっぽいツールがあれば...w
#HTMLにしてくれるだけでも全然違うんですがねぇwww
#ってそれなら xslt 書けばいいのか...orz

# re: Sandcastle C++ 苦闘編 2007/10/05 15:49 やまだ

んじゃ、勉強会の xslt のついでにお願いしますねー。
#うわ、本当の困りもんだ。

……いや、冗談ですけど。

# re: Sandcastle C++ 苦闘編 2007/10/05 17:05 とっちゃん

えー...XMLは書いてるけど...ほかは...全部...
ただのコピーですw<おい!

いや、やってることは何とか読み取れ...てません。
#a タグにしてるところだけはわかったけどw

# re: Sandcastle C++ 苦闘編 2007/10/07 21:57 さかもと

連休の使い方としては間違えてるかと。

連休とは、サーバーのバックアップがこけてて、調べたらDATユニットが壊れてて、CEさん呼んで修理して、そこからフルバックアップで9時間。

というのを正しい連休と呼びます。

# re: Sandcastle C++ 苦闘編 2007/10/07 23:51 やまだ

> というのを正しい連休と呼びます。
んじゃ間違っててもいいやいっ!
連休は明日まで続きますので、さかもとさんは「正しく」頑張ってくださいねー。

# Sandcastle C++ 再び 2007/10/10 1:06 やまだの仮想庭園

Sandcastle C++ 再び

# Sandcastle C++ 再び 2007/10/10 1:27 やまだの仮想庭園

Sandcastle C++ 再び

タイトル
名前
Url
コメント