• ベストアンサー

【c++】関数の仕様を出力

クラス内で作成している各関数の仕様をファイルとして出力したいです。 Visual studioを使っていると、 ツールで「クラスビュー」や「オブジェクトブラウザ」などで関数の仕様などが出力されると思います。 Visual studio の機能でも、外部ツールの機能でも良いです。

質問者が選んだベストアンサー

  • ベストアンサー
  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.3

使ったことないけど http://sourceforge.jp/projects/sfnet_cproto/ みたいなこと?

TeferiMage
質問者

お礼

ありがとうございます。 (挫折中ですが、お礼だけ。) なんとかうまく使ってみようと思います。

TeferiMage
質問者

補足

ありがとうございます。 ダウンロードしてみました。 (使い方がまだよくわかっていないところです。) .hのファイルがいくつか入っていて、 readMeを読む限り、 windowsの場合、watcom.makというmakeファイルっぽいのを実行するっぽいのです。 きっと実行パラメータに、対象となる関数が書かれてあるcppのディレクトリあたりを指定して実行すると思われますが、そこまで至ってないです。

その他の回答 (2)

  • Picosoft
  • ベストアンサー率70% (274/391)
回答No.2

///<summary>累乗を計算する</summary> ///<param name='d'>計算対象</param> ///<returns>dの累乗</returns> double Pow(double d){  return d * d; } ……という感じにコメントをつけ、/docオプションをつけてビルドすると、 出力先のフォルダにxmlファイルができます。 <?xml version="1.0"?> <doc> <assembly> "Test" </assembly> <members> <member name="M:Pow(System.Double)"> <summary>累乗を計算する</summary> <param name="d">計算対象</param> <returns>計算結果</returns> </member> </members> </doc> 使ったことはないですが、Doxygenも役に立つかと思います。 http://www.doxygen.jp/

TeferiMage
質問者

お礼

ありがとうございます。 自分の目的なのですが、 「人為的ミスが起こることなく、関数の引数と、戻り値を出力したい」ということなのです。 Doxygenは使っています。とても便利です。 しかし、その際 @param [in] l_value Long型 出力したい値 @param [in] str_value Long型 出力したいメッセージ @return long 戻り値 0 正常 -1 異常 とかのように記述しておき、出力されます。 なので、結局、記述を忘れたり、確認をおろそかにすると、 全く意味のないもの、下手したら誤認の原因になってしまうのです。 引数などの論理的意味や、関数名(和名・論理名)は、doxygenを使うつもりですが、 (1)関数の引数 (2)戻り値 (3)関数名 は、そのまま事実を出力したいのです。 .

  • Picosoft
  • ベストアンサー率70% (274/391)
回答No.1
TeferiMage
質問者

お礼

ありがとうございました。 (No2だけしかお礼してませんでした。。  「XML ドキュメント ファイルの生成」  うまく使えば、ドキュメント作成工数が減らせそうですね!)

TeferiMage
質問者

補足

プロジェクトの [プロパティ ページ]  ⇒ [構成プロパティ]  ⇒ [C/C++]  ⇒ [出力ファイル] のプロパティ ページ  ⇒ [XML ドキュメント ファイルの生成] で設定を変更してみたら、 ファイルとして出力されるのかなと読み取ったのですが、 やってみても出力されるというわけではないのでしょうか? もし具体的な出力方法などをご存知でしたらご教授頂けませんでしょうか? .

関連するQ&A

  • VBからエクセル形式の出力はできますか?

    Visual Basic .NET (VB6でも可)を使用してCSV形式では出力できるのですが、xls形式で出力はできませんか。 セルの結合や、罫線処理といったエクセルの機能が使いたいのです。 調べて見ると[Visual Studio Tools for Office]というものがMicrosoftから販売されていますが、このツールを 使用しないことには作成は不可能なんでしょうか? ご存知の方がいらっしゃれば教えてください。 現在はVBAを使用していますが、.NETアプリとして作成して見たいと思ったので。 ・VBではできないがC#ではできる。なんて事があればその方法でも構いません。 Visual Studio .NET 2003 Professional

  • 【Visual Studio2005】 Webページのビルドコメントについて・・・XMLコメントからHTMLファイルを出力

    Visual Studio2003では、ツール→Webページのビルドコメント で、プログラムのXMLを基にMSDNライブラリライクなHTMLファイルを出力できるみたいですが、Visual Studio2005で、同様の機能または、似たような機能を持っていないのでしょうか? ご存知の方宜しくお願い致します。

  • C#を用いての簡易ブラウザ作成

    タイトル通りなのですが、Visual studio 2005 C#で簡単なブラウザ作成方法を知りたいのです。 ブラウザの機能としては、urlを入力しての移動、戻る、進むといったボタン配置を基本として、ホームに戻る機能、検索エンジン(Google)を呼び出す機能などもつけたいのです。 visual studio 2005のツールボックスでFormをつくり、そこにButtonや textBox WebBrowserなどのコントロールを貼り付け概観は作成できたのですが、そこにどのようなメソッドをどこに記述すればいいのかが分からないのです。 おそらくNavigate()やGoBack()やGoforward()などのメソッドを記述すればいいのだと思うのですが… いろいろとサイトを見たのですが自分には敷居が高いのかいまいちなのです。C#はほとんど初心者に近く困っています。 どなたか分かる方教えていただきたいのですが。

  • C++/CLIにてForm1の要素に外部から

    C++/CLIにてForm1の要素に外部の関数からアクセスしたいです。 Windows7、Visual Studio2010にてC++/CLIで 簡単なフォームアプリケーションを作成しています。 仮に新規作成し、とりあえずテキストボックスを貼りつけたとします。 この際「Form1.h」が自動的に作成され、Form1クラスの中に textBox1などの要素が自動的に作成されるかと思います。 Form1クラスのメソッドの中からそれにアクセスするには this->textBox1->Text = L"変更"; みたいにするだけで良いですが、 こうしたForm1クラスの要素に対し、 Form1.h以外の場所にある外部の自作の関数から アクセスを行うにはどのようにすれば良いのでしょうか。

  • SQL *PLUSを使用してOracleでコンパイルされているソースを出力したい

    Object Browserというツールにスクリプト出力(コンパイルされたソースを外部出力する)という機能があります。 これと同じことをSQL *PLUSを使用してできないでしょうか? ご教授いただきたく存じます。 よろしくお願い致します。

  • visual studioを外部から操作したい

    .net framework 2.0を使用しています。 visual studio C# 2005 expressにはメソッドの追加ウィザードがついていないらしいので、 そのウィザードと似たような機能をvisual studioに作成したコードを挿入するアプリケーションとして 作りたい思ってるのですが、visual studioには外部から操作できるように関数などは公開されているのでしょうか? visual studioとメソッド追加ウィザードアプリケーションを両方起動して visual studio内で記述しているテキストのカーソルの位置にメソッド追加ウィザードアプリケーション で作成されたメソッドコードを挿入するやり方です。

  • C++のクラスについて

    C++でクラスをmain関数をすっきり書くことを目的に暗中模索中です。 あるファイルでC++のクラスを作ったとします そのクラスのファイルのオブジェクトをmain関数で利用したいのですがオブジェクトの生成をmain関数ではなく他のファイルでしてそれをincludeする形で利用したいのですがどういうコードを書いたらいいか分かりません 考え方や書き方を教えてください

  • VC#で汎用的な関数はどのファイルに書くのですか?

    このたびVisual Studio C#でWindowsフォームアプリケーションを作り始めたのですが コードはForm1.csに書くのが普通なのですか? VBAを使っていた時は、Formにはコントロールのイベントの関数を書いて、その関数内での 処理はModulの中に書いていました。 Modulをnamespaceのような扱いで、ファイル関係の関数を集めたModulをModul_file、 文字列処理を集めたModulをModul_strなどと機能毎にModulを作っていました。 クラスは使っていませんでした。 このような使い方が合っているのかわかりませんが、VC#ではクラスにするほどでないような汎用的な自作関数を集めたものはどのファイルにすれば良いのでしょうか? Form1.csに書くのもなんか違うような気もします。 よろしくお願い致します。

  • visual studioでsystem関数

    visual studio 2005でsystem関数を使っていました. system("notepad"); は難なく実行できました. 他の実行ファイルも実行できるかと思い 「C:\Program Files\IrfanView」にある「i_view32.exe」を実行しようと思い, system("i_view32.exe"); で「デバックなしで開始」で実行させたところ 'i_view32.exe'は,内部コマンドまたは外部コマンド, 操作可能なプログラムまたはバッチ ファイルとして認識されていません. とエラーが出ました. もちろんC:\Program Files\IrfanViewのPATHは通してあります. しかしDebugフォルダにあるプログラムの実行ファイルをクリックで実行させたところ普通にi_view32.exeは起動しました. 「デバックなしで開始」で起動させたいのですがどうすればよいのでしょうか? 分かる方いたらよろしくお願いします.

  • C++のテンプレート関数やテンプレートクラスをC#で利用するには?

    C++で作成したテンプレート関数やテンプレートクラス をC#で利用したいと考えております。 テンプレート関数やクラスを明示的実体化してコンパイルし、 C++/CLIでラップすればC#でも使えるという話を聞きました。 テンプレートでない通常の関数やクラスの場合は、 http://www.atmarkit.co.jp/fdotnet/special/vcppinvista01/vcppinvista01_01.html で紹介されているのを見つけたのですが、 テンプレート関数やクラスの場合 具体的にC++/CLI側でどのように記述すればよいか分かりません。 例えば、 ---- [test.h] template <class Type1> class Test{ public:   Type1 x;   template <class Type2>   Type1 func(Type2 y){ ... } }; ----- のようなクラスがあった場合、どうすればよいでしょうか。 明示的な実体化の方法とC++/CLIで明示的実体化した関数やクラスが どのような名前になるのかが分かれば上記サイトの方法で いけるのではないかと思っているのですが…。 環境はVisual Studio2005(or 2008)です。 よろしくお願いいたします。

専門家に質問してみよう