使用来自存档文件的函数而不使用.cpp
Using functions from an archive file without use of .cpp
我有一个存档文件,里面包含了一些内置的函数。
阅读android ndk文档后,我假设在Java类中的System.loadLibrary()上,我可以访问归档文件中的函数。
我没有访问。cpp文件,所以我只使用。a +。h(头文件)。
我还是个新手,希望能得到一些帮助。
谢谢
你有Java和Native(二进制+ .h文件)
现在需要JNI (https://en.wikipedia.org/wiki/Java_Native_Interface)
JNI将帮助您从Java中调用本机函数(在一个文件中)
这个示例使用2个库:一个是静态库,另一个是共享库。它只是一个框架,如何使用外部(第三方)库在android平台,这可能是接近你在什么。System.LoadLibrary()将加载共享库,这意味着您需要为静态库创建自己的包装器:
- 创建java应用程序
- 为本机函数添加java包装器函数
- 使用java生成原生函数原型或让android studio自动生成它们(右键单击java函数,选择Generate prototype);这些函数具有一些特殊的签名,因此可以由Java代码调用(当您到达那里时将看到它)。记得在它们中添加JNIEXPORT JNICALL(如果Android Studio忘记了,可以手动添加到你的函数中) 在你的存档(*)中调用你的lib函数。a,静态库)从生成的本机函数
在示例库中可以找到一些示例,但是您需要决定是使用ndk-build还是cmake来构建本机C/c++代码。
相关文章:
- 内置函数可查看CPP中的成员变量
- C++-试图将函数指针推回到另一个CPP文件中的矢量时出错
- 我需要知道编译器如何在cpp中使用析构函数
- 使用cpp中的结构和函数的多个学生条目
- 从 c 或 cpp 系列子函数返回到主函数
- C++(.cpp文件和.h文件)拆分代码并添加一个函数,提取 - 这很容易吗?
- 如果 x.h 仅由函数声明组成,为什么有必要在 x 中包含 x.h.cpp
- 如何使用connect将qml按钮与同一类的cpp函数连接起来
- 从不同的 cpp 调用回调函数会导致bad_function_call
- cpp 使用 abs() 函数和 size_t
- 是否可以使用 libclang python 解析 cpp 文件中没有标头的函数原型
- 如何在另一个 CPP 文件中使用一个 cpp 文件中的函数?
- 处理简单 cpp 类构造函数中的错误
- 我如何在函数 cpp 中返回字符串
- 如果您只需要在 .h 文件中声明函数.cpp是否需要在 .h 文件中声明函数?
- 文件中定义的 Constexpr 构造函数.cpp会导致链接错误
- 从函数 CPP 返回 int 或 string.c_str() 时的两个不同的行为
- 构造函数 CPP 中基元数据类型的初始化
- 链表函数 cpp 中的指针作用域
- 将2d std::数组传递给函数cpp