美文网首页
JNI基础 -- C++基础知识(动态库)

JNI基础 -- C++基础知识(动态库)

作者: 刘小厨 | 来源:发表于2020-04-18 14:42 被阅读0次

库的概念:

在windows平台和linux平台下都大量存在着库。Android中也存在库,
库顾名思义,指的是一个容器文件,里面装的是函数,由于windows和linux的平台不同(主要是编译器、汇编器和连接器的不同) ,因此二者库的二进制是不兼容的。

库分为动态库和静态库

不同的操作系统库文件的格式不同:
比如:Android JNI开发常用的一般就是动态库,也就是常说的.so文件,静态库一般是.a文件
windows操作系统的C盘下有很多.dll文件,就是动态库文件,静态库文件就是.lib

两者的区别:
区别

我们可以将动态库(Android中的.so文件)类比为常用的jar包文件,jar文件可以包含.class文件,.class文件的加载是发生在运行时
将静态库(Android中的.a文件)类比为.arr包文件,.arr包文件不仅可以包含.class文件,还可以包含资源文件,R资源,文件格式资源等
实现相同的功能.arr文件的大小是大于.jar文件的,同理,一般.a文件的大小会大于.so文件

动态库的编译过程 :
动态库编译过程

相关文章

  • JNI基础 -- C++基础知识(动态库)

    库的概念: 在windows平台和linux平台下都大量存在着库。Android中也存在库,库顾名思义,指的是一个...

  • JNI入门大全

    简介 JNI是Java Native Interface的缩写,它的设计目的能让JAVA动态调用C/C++动态库。...

  • JNI高阶知识总结

    JNI与NDK的关系 NDK可以为我们生成了C/C++的动态链接库,JNI是java和C/C++沟通的接口,两者与...

  • JNI 基础知识

    JNI 基础知识 什么是 JNI ? JNI (Java Native Interface) 是 Java 沟通 ...

  • C、C++、Java? Java Native Interfac

    C、C++、Java? Java Native Interface(JNI)特辑--动态注册JNI函数 排版不佳建...

  • Golang开发动态库

    我们平时使用的动态库都是由C/C++开发最后生成的.so文件。可以先看看一个JNI的开发过程。 一. 开发JNI ...

  • JNI 入门

    基础知识 1 什么是JNI?JNI全称为:Java Native Interface。JNI 是本地编程接口,它使...

  • cmake快速实战

    目录 cmake快速实战 Android JNI基础知识讲解 Android JNI实战 makefile前言 我...

  • JNI基础(2): CMake编译简述

    2.1 C++编译成动态库并调用 本节内容中会简单介绍JNI默认的CMakeLists.txt文件和相关语法。首先...

  • JNI基础知识讲解

    目录 cmake快速实战 Android JNI基础知识讲解 Android JNI实战 1、序言 学习ndk,就...

网友评论

      本文标题:JNI基础 -- C++基础知识(动态库)

      本文链接:https://www.haomeiwen.com/subject/ncsuvhtx.html