当前位置: 首页 > 面试题库 >

是否可以通过JNI将静态库链接到Java?

璩浩广
2023-03-14
问题内容

是否可以构建一个HelloWorld.lib并使用JNI将其加载到Java应用程序中?还是仅适用于共享库?

我在JNI文档中找不到明确的答案,没有引用“静态库”。


问题答案:

它必须是一个动态库。幸运的是,您可以从静态库中构建一个动态库。



 类似资料:
  • 问题内容: Java 8之前的Java版本要求本机代码必须位于共享库中,但是我已经读到Java 8可以在JNI中使用静态链接库。我已经搜索了示例,但找不到任何示例。 如何将JNI库静态链接到Java应用程序? 问题答案: Java SE 8规范已更改为支持静态链接,并且静态链接在JDK中实现。在System.loadLibrary的规范中对此进行了简要介绍。它所引用的JNI规范的各个部分在此处和此

  • 主要内容:静态链接库,动态链接库,总结我们知道,C、C++程序从源文件到生成可执行文件需经历 4 个阶段,分别为预处理、编译、汇编和链接,本节将重点围绕链接阶段,对静态链接库和动态链接库做详细的讲解。 有关链接操作的具体细节,感兴趣的读者可阅读《 到底什么是链接,它起到了什么作用?》和《 符号——链接的粘合剂》这两节。总的来说链接阶段要完成的工作,就是将同一项目中各源文件生成的目标文件以及程序中用到的库文件整合为一个可执行文件。 通过

  • 使用clang链接AFN .a静态库 AFN静态库的生成不是重点, 以链接使用为主 一、准备 在staticLib文件夹下新建test.m文件, 代码如下 #import <Foundation/Foundation.h> #import <AFNetworking.h> int main() { AFHTTPSessionManager *manager = [AFHTTPSe

  • 我使用Firebase动态链接。当我点击Android设备上的链接时,它会询问我想用哪个应用打开:Chrome(浏览器)还是处理链接的应用。是否可以禁用使用chrome打开这些链接并立即打开应用程序? 我遵循这些指示:https://firebase.google.com/docs/dynamic-links/android/receive

  • 问题内容: 我试图将静态库(与gcc一起编译)链接到C 程序,但出现了“未定义引用”。我在ubuntu 12.04服务器计算机上使用了gcc和g 版本4.6.3。例如,这是阶乘方法的简单库文件: mylib.h mylib.c 我使用gcc为此mylib.c创建了对象: 再次使用AR实用工具从目标文件创建了静态库: 我用C程序(test.c)和C ++程序(test.cpp)测试了这个库 C和C

  • 在共享的情况下,我使用的是cmake文件 在静态情况下 我认为我只需要更改如何从 失败:cmd.exe/c“cd.&&clang++.exe-target=aarch64-none-linux-android-gcc-toolchain=c://android/android-sdk/ndk-bundle/toolchains/aarch64-linux-android-4.9/prebuilt/