2

「プロトコンパイラ」(Java、Python、C ++からソースファイルを生成するために使用されるコンパイラ)がどの言語で書かれているのか知りたいですか?多分それは言語の混合ですか?

どんな助けでもいただければ幸いです。

AdvanceHoraceに感謝します

4

2 に答える 2

2

C++で書かれているようです。JavaおよびPythonAPIに関するドキュメントもありますが、それらにはコンパイラ自体が含まれていないようです(少なくとも、どちらの場合も明らかにコンパイラであるものは表示されませんが、検索に多くの時間を費やすことはありませんでした。それも)。

とは言うものの、私はほとんど投票して締めくくりたいと思っています。ほとんどの実用的な目的では、コンパイラの実装に使用される言語は基本的に雑学の質問であり、実際の使用には関係ありません。ただし、完全に正当な例外があります。コンパイラをダウンロードして変更する場合は、使用する必要のある言語を知っていると非常に便利です。

于 2012-05-08T19:37:54.080 に答える
1

protoc コンパイラは、C または C++ で記述されています (とにかくネイティブ プログラムです)。

Javaファイルでprotoファイルを処理したいとき、私は

  1. protoc コマンドを使用して、それらを Protocol Buffer File に変換します。

    protoc protofile.proto --descriptor_set_out=出力ファイル

  2. 新しいプロトコル バッファ ファイル (FileDescriptorSet) を読み取り、それを使用します。

複雑すぎる例は例です、 compileProtoメソッドで

http://code.google.com/p/protobufeditor/source/browse/trunk/%20protobufeditor/Source/ProtoBufEditor/src/net/sf/RecordEditor/ProtoBuf/re/display/ProtoLayoutSelection.java

protocコマンドとオプションはプロパティファイルに保存できるため、オプションのためコンパイルされています。

注: getFileDescriptorメソッドは、新しく作成されたプロトコル バッファを読み取ります。

于 2012-05-09T07:00:10.757 に答える