不同的flatc编译器(Win64/Win 32/Mac)生成的接口有什么区别?

What is the difference in interfaces generated by different flatc compilers (Win64/ Win 32/ Mac)?

针对不同的架构和环境(如Win64/Win 32/Mac)cmake生成不同的工程,进一步编译得到不同的flatc编译器。我的疑问是:

  1. 这些 flatc 编译器是否从给定的模式生成相同的接口 (Cpp headers),或者它们之间存在一些差异?
  2. 为什么这些 flatc 可执行文件的大小差异如此之大,以防它们执行相同的功能!
  3. 我应该在不同的平台上使用不同的 flatc 来生成模式吗?还是可以在所有三个平台上使用相同的生成界面?

请帮忙。

flatbuffers-1.8.0 发布的 flatc 二进制文件的统计信息:

Github 项目:https://github.com/google/flatbuffers

  1. 是的。
  2. 这与C++编译器有关,与FlatBuffers无关。使用多个编译器/体系结构编译的任何 C++ 程序的大小都会有所不同。您引用的那些大小差异实际上很小(Xcode 默认为 64 位 btw)。
  3. 无论您使用哪个 flatc,输出都是相同的。