如何确定C代码是为Android/NDK或iOS编译的

Mir*_*iam 10 c android portability android-ndk ios

我正在iOS应用程序和Android应用程序中重用旧版C库.我想自定义一些宏定义(例如用于日志记录).是否有标准定义来检查(使用#ifdef)是否正在为iOS或Android/NDK编译代码?

Sté*_*ane 23

__ANDROID__或者ANDROID用于Android(使用NDK编译)和__APPLE__Apple平台(iOS或OSX)

  • 不,它是带有**下划线的`__ANDROID__`**.引用[David Turner](http://markmail.org/message/5ekhfztchs45lz3n):"我建议现在明确定义`__ANDROID__`,它应该是NDK用户应该再次测试的唯一东西". (5认同)