Как определить код C скомпилирован для Android/NDK или iOS

Я повторно использую устаревшую библиотеку C в приложении iOS и в приложении для Android. Я хочу настроить некоторые макроопределения (например, для ведения журнала). Существуют ли стандартные определения для проверки (с использованием #ifdef), выполняется ли компиляция кода для iOS или Android/NDK?

Ответ 1

__ANDROID__ или ANDROID для Android (компиляция с NDK) и __APPLE__ на платформах Apple (iOS или OSX)

Ответ 2

вам следует рассмотреть возможность создания двух отдельных проектов для этих платформ с отдельными каталогами output/bin, но с общим исходным кодом. Затем вы просто устанавливаете определенное определение в свойствах проекта для android и ios, чтобы вы могли распознать его при компиляции