В чем разница в интерфейсах, генерируемых различными компиляторами flatc (Win64/ Win 32/ Mac)?
Для разных архитектур и сред (например, Win64/ Win 32/ Mac) cmake генерирует разные проекты, которые затем компилируются, чтобы получить разные плоские компиляторы. Мое сомнение:
- Эти плоские компиляторы генерируют одинаковые интерфейсы (заголовки Cpp) из заданной схемы, или в них есть какая-то разница?
- Почему так много различий в размерах исполняемых файлов flatc, если они выполняют одинаковую функциональность!
- Должен ли я использовать разные flatc для генерации схемы на разных платформах? или можно использовать одинаковые сгенерированные интерфейсы на всех трех платформах?
Пожалуйста помоги.
Статистика по выпуску flatc-файлов из flatbuffers-1.8.0:
- win64 1238KB
- win32 961KB
- Mac 1145KB
Проект Github: https://github.com/google/flatbuffers
1 ответ
Решение
- Да.
- Это связано с компиляторами C++ и не имеет ничего общего с FlatBuffers. Вы получите разницу в размере для любой программы C++, которую вы компилируете с несколькими компиляторами / архитектурами. Те различия в размерах, которые вы цитируете, на самом деле довольно малы (по умолчанию XCode составляет 64 бита).
- Неважно, какой планшет вы используете, вывод будет идентичным.