当前位置: 首页 > news >正文

商城网站支付系统怎么做广州建站网络公司

商城网站支付系统怎么做,广州建站网络公司,旅行的意义 wordpress主题,自己买个服务器做代挂网站文章目录 1_JNI是什么#xff1f;2_使用3_扩展 1_JNI是什么#xff1f; JNI 是Java Native Interface的缩写#xff0c;通过JNI#xff0c;允许Java代码与其他语言#xff08;通常是C或C#xff09;编写的本地应用程序或库进行交互。简而言之就是#xff0c;Java可以通… 文章目录 1_JNI是什么2_使用3_扩展 1_JNI是什么 JNI 是Java Native Interface的缩写通过JNI允许Java代码与其他语言通常是C或C编写的本地应用程序或库进行交互。简而言之就是Java可以通过JNI调用C 或 C 语言写的代码。 2_使用 1、首先准备一个demo让我们进行JNI的快速入门使用 /*** author shenyang* version 1.0* info JNI* since 2024/6/29 下午5:03*/ public class JNIDemo {public static void main(String[] args) {System.out.println(System.getProperty(java.library.path));System.out.println(add(1,2));} }2、需要将C/C实现的方法用native关键字声明。 由native关键字声明的方法我们就不需要给出方法体了直接给出声明就好了。 public static native int add(int a, int b);//这个方法的作用是将两个整型相加3、加载动态链接库windows上.dll为后缀linux上.so为后缀名通常是使用静态代码块来进行导入。 使用 System对象的 public static void loadLibrary(String libname)方法不需要后缀只要库所在路径加上库名。 static {System.loadLibrary(jniDemo); }4、使用 javac -h或 javah生成.h为后缀的头文件 注意jdk10之后将javah这一命令移除了JEP313: 移除JDK中附带的javah工具。注意下面第一个参数是存放到当前路径下./ javac -h ./ JNIDemo.java生成的头文件JNIDemo.h。 /* DO NOT EDIT THIS FILE - it is machine generated */ #include jni.h //这个头文件在jdk/include/下 /* Header for class JNIDemo */#ifndef _Included_JNIDemo #define _Included_JNIDemo #ifdef __cplusplus extern C { #endif /** Class: JNIDemo 说明这个方法是在哪个类里* Method: add 对应的是java中的add方法* Signature: (II)I 括号里两个II表示第一个参数和第二个参数都是int类型括号后面的I表示这个方法的返回值是int类型* 下面这部分是C需要实现的函数声明*/ JNIEXPORT jint JNICALL Java_JNIDemo_add(JNIEnv *, jclass, jint, jint);#ifdef __cplusplus } #endif #endif下面这部分是C需要实现的函数声明 JNIEXPORT jint JNICALL Java_JNIDemo_add(JNIEnv *, jclass, jint, jint);5、根据生成的头文件里的函数声明实现对应的函数创建JNIDemo.cpp文件。 注意下面的代码包含了之前生成的头文件JNIDemo.h还需要其他头文件也可以一并包含进去比如iostream。下面四个参数JNIEnv *是一个指针封装了一些JNI的操作在里面jclass参数也用不到只放一个参数类型就行了后面两个参数因为用的到所以把参数名加上。函数的最终目的是返回ab再加上一些其他操作我们进行测试 #include JNIDemo.h #include iostreamJNIEXPORT jint JNICALL Java_JNIDemo_add(JNIEnv *, jclass , jint a, jint b) {std::cout a a b b std::endl;return ab; }6、将上面的cpp文件编译成动态链接库。 给对C不太了解的同学解释下下面命令的意义 -o jniDemo.dll: 指定输出文件的名称为jniDemo.dll与System.loadLibrary(jniDemo)中保持统一。在Windows系统上动态链接库通常以.dll为扩展名。 -fPIC: 表示生成位置无关代码Position-Independent Code。这是生成共享库时常用的选项使得生成的代码在加载到内存中的任何位置时都可以正确运行。 -shared: 指定生成一个共享库动态链接库而不是可执行文件。 -I: 包含路径选项用于指定头文件所在目录。在这里包含了特定于Windows系统的Java头文件。 JNIDemo.cpp: 源文件名包含了具体的JNI方法实现。 如果windows电脑上使用不了g命令那么可以下载MinGWX64 - x86_64-win32-sjlj。 g -o jniDemo.dll -fPIC -shared -IE:\shenyang\.jdks\jdk-1.8\include\win32 -IE:\shenyang\.jdks\jdk-1.8\include JNIDemo.cpp执行完毕后发先目录下出现jniDemo.dll文件 最后运行 JNIDemo.java 查看运行结果 3_扩展 基础数据类型对应表 Java 类型JNI 类型C/C 类型描述booleanjbooleanunsigned char布尔类型值为true或false 使用0表示false非0表示true。bytejbytesigned char8位有符号整数charjcharunsigned short16位无符号Unicode字符shortjshortshort16位有符号整数intjintint32位有符号整数longjlonglong long64位有符号整数floatjfloatfloat32位单精度浮点数doublejdoubledouble64位双精度浮点数voidvoidvoid无类型 引用数据类型对应表 Java 类型JNI 类型描述StringjstringJava字符串Objectjobject任意Java对象ClassjclassJava类ThrowablejthrowableJava异常对象boolean[]jbooleanArray布尔型数组byte[]jbyteArray字节型数组char[]jcharArray字符型数组short[]jshortArray短整型数组int[]jintArray整型数组long[]jlongArray长整型数组float[]jfloatArray单精度浮点型数组double[]jdoubleArray双精度浮点型数组任意类型的对象数组jobjectArray对象数组Java数组中的任意类型jarray通用数组类型
http://www.hkea.cn/news/14314547/

相关文章:

  • 做 网络网站做网站的书籍
  • 网络平台建站流程哪些大型网站有做互联网金融
  • 在泰安市有做阿里巴巴网站的网页版微信下载
  • 网站建设服务合同建站工具包
  • 民治网站建设网站seo优化免费
  • 山东企业网站建设费用简洁网站布局
  • 网站例子大全乌克兰网站设计
  • 如何更改公司网站内容wordpress导航栏改字体
  • jsp做的网站后台信息html转换器
  • 怎么制作网站获取他人ip百度做网站怎么样
  • 泸西县住房和城乡建设局网站长春是几线城市吗
  • 廊坊网站建设企业高端网名
  • 潜山网站建设博客网站建设方案
  • 网站建设类的职位想学服装设计
  • 迅速百度网站自然排名网站建设的过程有哪些
  • 北京网站建站网nas wordpress 外网访问
  • 一站式网站建设与运营wordpress注册不了
  • sdcms网站源码洛可可创新设计集团
  • 做网站收会员费免费的建站软件推荐下载
  • 中移电子商务有限公司廊坊快速排名优化
  • 惠阳住房与规划建设局网站建设银行个人网银登录
  • 关于网站建设的申请企业做网站哪家好
  • 长沙市网站制作设计方案范文
  • 一步一步教你做网站后台视频携程网网站做的怎么样
  • 维护网站要做哪些工作2017网站风格
  • 如何创建一个网站卖东西中英文网站建设企业
  • 学生创业做网站制作设计有关建筑网站建设方案
  • 企业门户网站功能二级域名怎么解析
  • 动态做网站网站开发 验收模板
  • 怎么进入网站空间北京网站建设最大的公司排名