在Android上部署深度学习模型之项⽬结构(⼆)
导读
前⾯我们通过c++实现了mobilenet模型的调⽤,现在我们想通过Android来调⽤c++代码,来实现Android端深度学习模型的部署。IOS 端可以通过object c直接调⽤c++代码,Android提供了JNI⽤来调⽤c++代码
JNI
JNI (Java Native Interface,Java本地接⼝)是⼀种编程框架,使得Java虚拟机中的Java程序可以调⽤本地应⽤/或库,也可以被其他程序调⽤。 本地程序⼀般是⽤其它语⾔(C、C++或汇编语⾔等)编写的,并且被编译为基于本机硬件和操作系统的程序。
Android studio提供了两种⽅式来编译c++代码,ndk-build和cmake。通过其中的任意⼀种,你都可以将c++⼯程编译so或a库类似
于windows的lib和dll,然后再通过java代码来调⽤它们,这⾥我介绍如何使⽤cmake来编译c++代码。Android studio的native c++⼯程能够很⽅便的实现这⼀功能
动态库和静态库
so库被称为动态库,a库被称为静态库,关于动态库和静态库的主要区别如下:
静态库在程序编译时会被连接到⽬标代码中,程序运⾏时将不再需要该静态库。
cmake如何使用动态库在程序编译时并

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。