使用C++嵌入到Java代码中有3个好处
1.C++代码效率高
2.C++代码反反编译
3.C++能与硬件交互。
1.Java代码编写
package cn.itcast;
public class TestNative {
public native void sayHello();
public static void main(String []args)
{
System.loadLibrary("nativecode");
TestNative ts=new TestNative();
ts.sayHello();
}
}
2.使用javah生成头文件
javah TestNative
3.编写C++代码
#include "cn_itcast_TestNative.h"
#include <iostream>
using namespace std;
JNIEXPORT void JNICALL Java_cn_itcast_TestNative_sayHello(JNIEnv *env, jobject obj)
{
cout<<"Hello World!"<<endl;
}
4.使用VS生成DLL
5.运行程序 输出 Hello World!
使用JNI有两个弊端
1.编出的程序不能跨平台
2.Java是强类型语言,C++不是。编写代码要小心。
所以在写Java程序的时候要尽量少使用本地代码。
分享到:
相关推荐
JNI初步:使用Java提取平台,硬件相关信息
JNI NDK 开发指南 对JNI有个初步的认识,里面涉及必要的函数说明
研究了很久,终于初步搞定了jni问题,写了一个最简单的jni调用第三方的实例,dll建立的时候全部使用的空项目,为避免其他的干扰,参数传递也选最简单的int型,以便于大家初步了解jni
最近在做一个项目,需要挂接其它部门提供的so库,android纯小白,在网上找了一堆资料,走了很多弯路终于初步挂接成功,整个流程给大家分享一下 基本工具 androidstudio,google官方提供的开发工具,迭代了很多版本了...
使用JNI的方式建立socket连接 并进行socket数据的接收与发送 初步了解了JNI的使用方式
一个播放器,初步实现使用ffmpeg来解码。 视频解码:ffmpeg 视频渲染:android native window ffmpeg编译:使用ffmpeg-2.4.2+android-ndk32-r10b-linux-x86,在ubuntu14.04_32下编译 复制脚本build_android_arm.sh到...
包括遇到的坑构建并运行全流程初步git clone :binzhouchn / ncnn-android-yolov5.git第二步下载解压到项目app / src / main / jni文件夹下或者在app / src / main / jni / CMakeLists.txt中将ncnn_DIR路径更改为您...
13.4 反编译初步 469 13.4.1 使用dex2jar和jd-gui反编译apk 470 13.4.2 使用apktool对apk进行二次打包 470 第14章 JNI和NDK编程 473 14.1 JNI的开发流程 474 14.2 NDK的开发流程 478 14.3 JNI的数据类型和类型...
13.4 反编译初步 / 469 13.4.1 使用dex2jar和jd-gui反编译apk / 470 13.4.2 使用apktool对apk进行二次打包 / 470 第14章 JNI和NDK编程 / 473 14.1 JNI的开发流程 / 474 14.2 NDK的开发流程 / 478 14.3...
/ 463 13.4 反编译初步 / 469 13.4.1 使用dex2jar和jd—gui反编译apk / 470 13.4.2 使用apktool对apk进行二次打包 / 470 第14章 JNI和NDK编程 / 473 14.1 JNI的开发流程 / 474 14.2 NDK的开发流程 / 478 14.3...
1.1 初步认识c++基本功 1.2 类型和表达式 1.3 控制结构 1.4 指针和数组 1.5 函数 1.6 结构和枚举 第2章 如何实现面向对象编程 2.1 类和对象 2.2 友元类和友元函数 2.3 类的继承 2.4 多态和虚函数 第3章 异常处理3.1 ...
最全的Android技术栈 内容涵盖绝大部分Android程序员需要的技能:「数据结构算法」「程序架构」「设计模式」「性能优化」「组件化」「插件化」「热修复」「 NDK技术」「自定义检视」「性能优化...初步操作 IPC 熟悉常用
高并发编程第三阶段13讲 一个JNI程序的编写,通过Java去调用C,C++程序.mp4 高并发编程第三阶段14讲 Unsafe中的方法使用,一半是天使,一半是魔鬼的Unsafe.mp4 高并发编程第三阶段15讲 Unsafe背后的汇编指令,...
高并发编程第三阶段13讲 一个JNI程序的编写,通过Java去调用C,C++程序.mp4 高并发编程第三阶段14讲 Unsafe中的方法使用,一半是天使,一半是魔鬼的Unsafe.mp4 高并发编程第三阶段15讲 Unsafe背后的汇编指令,...