В чем разница в интерфейсах, генерируемых различными компиляторами flatc (Win64/ Win 32/ Mac)?

Для разных архитектур и сред (например, Win64/ Win 32/ Mac) cmake генерирует разные проекты, которые затем компилируются, чтобы получить разные плоские компиляторы. Мое сомнение:

  1. Эти плоские компиляторы генерируют одинаковые интерфейсы (заголовки Cpp) из заданной схемы, или в них есть какая-то разница?
  2. Почему так много различий в размерах исполняемых файлов flatc, если они выполняют одинаковую функциональность!
  3. Должен ли я использовать разные flatc для генерации схемы на разных платформах? или можно использовать одинаковые сгенерированные интерфейсы на всех трех платформах?

Пожалуйста помоги.

Статистика по выпуску flatc-файлов из flatbuffers-1.8.0:

  • win64 1238KB
  • win32 961KB
  • Mac 1145KB

Проект Github: https://github.com/google/flatbuffers

1 ответ

Решение
  1. Да.
  2. Это связано с компиляторами C++ и не имеет ничего общего с FlatBuffers. Вы получите разницу в размере для любой программы C++, которую вы компилируете с несколькими компиляторами / архитектурами. Те различия в размерах, которые вы цитируете, на самом деле довольно малы (по умолчанию XCode составляет 64 бита).
  3. Неважно, какой планшет вы используете, вывод будет идентичным.
Другие вопросы по тегам