【问题标题】:What is the difference in interfaces generated by different flatc compilers (Win64/ Win 32/ Mac)?不同的flatc编译器(Win64/Win 32/Mac)生成的接口有什么区别?
【发布时间】:2017-11-28 14:12:17
【问题描述】:

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

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

请帮忙。

从 flatbuffers-1.8.0 发布的 flatc 二进制文件的统计数据:

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

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

【问题讨论】:

  • 不同的flatc 编译器的名称是什么?您使用的是 GNU、Visual Studio、IAR、Greenhills 还是其他供应商?
  • 我为 link 中提到的“Visual Studio 14、Visual Studio 14 Win64 和 Xcode”制作并编译了 flatc 编译器。
  • 顺便说一句,您的术语听起来像是您为flatc 创建了编译器或修改了编译器;或使用名为“flatc”的特殊编译器。

标签: c++ macos serialization cmake flatbuffers


【解决方案1】:
  1. 是的。
  2. 这与 C++ 编译器有关,与 FlatBuffers 无关。您将获得使用多个编译器/架构编译的任何 C++ 程序的大小差异。您引用的那些大小差异实际上相当小(Xcode 默认为 64 位顺便说一句)。
  3. 无论您使用哪个 flatc,输出都是相同的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-04-19
    • 2011-03-05
    • 1970-01-01
    • 2010-10-23
    • 2011-03-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多