"extern" C 在安卓 - JNI 下是强制性的吗?

Is "extern" C Mandatory under Android - JNI?

本文关键字:强制性 extern JNI      更新时间:2023-10-16

在阅读了几篇文章之后,大多数文章都展示了如何在JNI下在Android中导出C代码。我的问题是我的c++类有很多重载函数。如果我想使用JNI导出/包装它们-如果我可以跳过"extern"C,如果我是正确的,它是用来避免函数的名称混淆的,是否可能这样做?

只要C代码需要能够通过符号调用c++代码,就需要删除名称混淆。如果您不确定关闭它是否安全,您可以很容易地找到:假设您从编译代码开始,删除您感兴趣的部分周围的extern "C"。如果它仍然可以编译,你就安全了……如果您不安全,您将收到来自链接器的未定义引用错误。