Как кроссплатформенные мобильные C++ SDK обычно работают под капотом?

Я нашел похожий ответ здесь: Как работают кроссплатформенные фреймворки для разработки мобильных приложений?

но я больше думал о работе кроссплатформенных SDK на c++ (например, Corona, Marmalade, EdgeLib и т.д.). Они дают возможность экспортировать двоичные файлы для iOS и Android, при этом позволяя разработчику использовать код на C++. Ниже перечислены мои предположения, но, пожалуйста, поправьте, если я где-то ошибаюсь:

  1. Пользователь пишет код на C++.
  2. SDK имеет интерфейсный слой с функциями C++, вызываемыми в коде пользователя, запрашивающими функциональность, специфичную для мобильной ОС. Этот интерфейсный слой построен из кода, необходимого для реализации вызова функции SDK в конкретной мобильной ОС (написан на Java для Android и Obj-C для iOS).
  3. Часть, которая меня больше всего смущает, потому что у меня мало опыта в разработке мобильных устройств: Есть ли в iOS и Android кросс-компиляторы C++, которые могут скомпилировать код общей логики, написанный на C++ в пользовательском приложении?

5
задан Community 23 May 2017 в 10:34
поделиться