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

时间:2017-11-28 14:12:18

标签: c++ macos serialization cmake flatbuffers

对于不同的架构和环境(如Win64 / Win 32 / Mac),cmake会生成不同的项目,这些项目会进一步编译以提供不同的flatc编译器。我怀疑是:

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

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

    • win64 1238KB
    • win32 961KB
    • mac 1145KB

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

1 个答案:

答案 0 :(得分:0)

  1. 这与C ++编译器有关,与FlatBuffers无关。对于使用多个编译器/体系结构编译的任何C ++程序,您将获得大小差异。你引用的那些大小差异实际上相当小(Xcode默认为64位btw)。
  2. 使用哪个flatc无关紧要,输出将完全相同。