2017-11-28 7 views
0

さまざまなアーキテクチャと環境(Win64/Win32/Macなど)のために、cmakeは異なるプロジェクトを生成します。これらのプロジェクトはさらにコンパイルされ、異なるflatcコンパイラを提供します。私の疑いは:異なるFlatcコンパイラ(Win64/Win32/Mac)で生成されるインタフェースの違いは何ですか?

  1. これらのflatcコンパイラは、指定されたスキーマから同じインターフェース(Cppヘッダー)を生成するのでしょうか、それとも違いがありますか?
  2. 同じ機能を実行する場合、これらのflatc実行ファイルのサイズに大きな違いがあります。
  3. 異なるプラットフォームでスキーマを生成するために異なるflatcを使用する必要がありますか?または3つのプラットフォームすべてで同じ生成されたインターフェイスを使用できますか?

助けてください。 flatbuffers-1.8.0からリリースflatcバイナリの

統計:

  • win64の1238キロバイト
  • win32の961キロバイト
  • マック1145キロバイト

のGitHubプロジェクト:https://github.com/google/flatbuffers

+0

異なる「flatc」コンパイラの名前は何ですか? GNU、Visual Studio、IAR、Greenhillsなどのベンダーを使用していますか? –

+0

[link](https://google.github.io/flatbuffers/flatbuffers_guide_building.html)に記載されているように、「Visual Studio 14、Visual Studio 14 Win64、Xcode」用のflatcコンパイラを作成しコンパイルしました。 –

+0

ところで、あなたの用語は、あなたがコンパイラを作成したように聞こえるか、 'flatc'のためのコンパイラを修正しました。 「flatc」という特別なコンパイラを使用していました。 –

答えて

0
  1. はい。
  2. これはC++コンパイラと関係があり、FlatBuffersとは関係ありません。あなたは、複数のコンパイラ/アーキテクチャでコンパイルするC++プログラムのサイズの違いを得るでしょう。あなたが引用したそれらのサイズの違いは、実際にはかなり小さい(Xcodeのデフォルトは64ビットbtw)。
  3. どのフラットを使用するかは関係ありません。出力は同じです。
+0

お返事ありがとうございます。 –

関連する問題