java - 通过 JAVA 访问 C++ 原生 DLL(带命名空间)

标签 java c++ dll namespaces java-native-interface

我有一个 c++ DLL,其中函数嵌套在命名空间中。

我需要在 java 中访问这些函数。我不是 java 专家,但我知道一些它的基础知识。

我找到了使用 JNI 访问 C++ native DLL 中方法的基本 Java 代码,但我不确定如何访问嵌套在命名空间中的函数。

最佳答案

您可能需要获取 C++ 函数的错位名称。您可以在 Unix 上使用 nm 或在 Windows 上使用 dumpbin/exports 来执行此操作。损坏的名称将包含命名空间和函数名称,因此应该很容易找到(除非有多个同名的重载需要区分)。您确定这些函数是普通的 C++ 函数而不是类方法吗?

关于java - 通过 JAVA 访问 C++ 原生 DLL(带命名空间),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5215645/

相关文章:

java - 在 Play 框架中填充下拉列表

java - 保存到内存 Android

c++ - 从另一个 exe 运行一个 Exe

c++ - 在编译时推导整个 vector 空间

c# - 无法加载文件或程序集,无法验证强名称签名

c# - 什么时候使用 C# 类库 (.dll) 合适?

java - 从整数中删除数字

c++ - 带有 WH_KEYBOARD 的 SetWindowsHookEx 对我不起作用,我错了什么?

c++ - 在任何平台上执行任何 Qt5 应用程序的重要 dll 文件是什么(运行时文件 dll)?

java - MyBatis 3 - 从映射器获取 SQL 字符串