9

私の会社では、エンジニアリング プログラムの API を開発しています。C++ で開発されていますが、次の言語用のラッパーを作成しています。

  • VB に似た専用言語
  • MATLAB
  • そしてパイソン。

現在、ドキュメントは多数のスクリプトによって生成されており、100% 維持するのに時間がかかり始めています。doxygen/sphinx または別のプログラムを使用して、C/C++、VB、および MATLAB のドキュメントを一度に生成する方法があるかどうか疑問に思っていました。Python の部分は SWIG によって行われます。現在、出力は次のようになります。

  • NameOfFunction
  • VB:
  • Function NameOfFunction(ByVal a As Long , ByRef b() As Long, ByVal c As Long) As Long
  • MATLAB:
  • 値 = NameOfFunction(a,b(),c)
  • C/C++:
  • 値 *NameOfFunction(objtype1 *a, objecttype2 *b[], int c)
  • +説明
  • +例
4

3 に答える 3

3

doxygen は複数の言語をサポートしています。

これを複数のプロジェクトまたはフォルダーと言語で使用するには、構成でチェックインするすべてのフォルダーに doxygen を指定するだけです。

私のお気に入りのプログラミング言語は X です。まだ doxygen を使用できますか?

いいえ、そうではありません。doxygen は、読み取る内容の構造を理解する必要があります。時間をかけても構わない場合は、いくつかのオプションがあります。

言語 X はサポートされていますか?

X の文法が C または C++ に近い場合、言語がサポートされるように src/scanner.la ビットを微調整することはおそらくそれほど難しくありません。これは、doxygen が直接サポートする他のすべての言語 (つまり、Java、IDL、C#、PHP) に対して行われます。X の文法が多少異なる場合は、X を C/C++ に類似したものに変換して doxygen が理解できるようにする入力フィルターを作成できます (このアプローチは、VB、Object Pascal、および Javascript で使用されます 。http://wwwを参照してください)。 .doxygen.nl/download.html#helpers )。文法が完全に異なる場合は、X 用のパーサーを作成し、src/scanner.l (およびタグ ファイルの読み取り中に src/tagreader.cpp によっても) によって行われるのと同様の構文ツリーを生成するバックエンドを作成することができます。

ただし、プロプライエタリのような VB を使用しているため、単にファイル拡張子を .vb の拡張子に変更すると、この言語が選択される可能性があります。

これはmatlabでそれを使用する方法です

Python と C++ はすでにサポートされています

よくある質問ページをご覧ください

于 2012-07-12T13:10:03.340 に答える
2

doxygen/sphinx または別のプログラムを取得して、c/c++、VB、および matlab のドキュメントを一度に生成する方法があるかどうか疑問に思っていました。

Zeus エディターには、Zeus ワークスペース内のすべてのアイテムの doxygen ドキュメントを作成できるdoxygen 機能があります。

于 2012-07-12T08:10:29.430 に答える
2

Doxygen サイトには、さまざまな言語のサードパーティ ヘルパーへのリンクを含むページがあり、適応できる可能性があります。

http://www.doxygen.nl/helpers.html

VB および MatLab フィルターが記載されています。

于 2012-07-12T04:46:47.870 に答える