;
-- 加载动态库 : 在Java代码中的静态代码块中加载JNI编译后的动态共享库;
.
3....交叉编译库文件
C代码执行 : C代码被编译成库文件之后, 才能执行, 库文件分为动态库 和静态库 两种;
-- 动态库 : unix环境下.so 后缀的是动态库, windows环境下.dll 后缀的是动态库...; 动态库可以依赖静态库加载一些可执行的C代码;
-- 静态库 :.a 后缀是静态库的扩展名;
库文件来源 : C代码 进行 编译 链接操作之后, 才会生成库文件, 不同类型的CPU 操作系统 生成的库文件是不一样...将 lib 去掉, 只取hello 作为动态库名称, 这是规定的;
//静态代码块加载C语言库文件
static{
System.loadLibrary("hello");
}
(7) 其它源码..., 我们编译动态库的时候, 可以将一些静态库引入进来;
(2) 自动生成方法签名
使用javah工具 : 在C中实现Java调用的jni方法, 方法的签名很复杂, 需要将完整的包名类名方法名都要使用