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

高端网站开发设计简介外贸网络推广的公司

高端网站开发设计简介,外贸网络推广的公司,互联网推广运营是做什么的,建什么网站可以长期盈利JNI调用原理 原理就不细说了#xff0c;其实就是写个库给Java调#xff0c;可以百度一下Java JNI#xff0c;下面是HelloWorld代码测试 编写一个本地测试类 package com.my.study.cpp_jni;/*** 测试Java调用C库* p使用命令javac -h . NativeTest.java自动生成C头…JNI调用原理 原理就不细说了其实就是写个库给Java调可以百度一下Java JNI下面是HelloWorld代码测试 编写一个本地测试类 package com.my.study.cpp_jni;/*** 测试Java调用C库* p使用命令javac -h . NativeTest.java自动生成C头文件/p* p到jdk中的include\win32下单jni.h和jni_md.h头文件拷过来/p* p实现cpp文件/p* p编译/p* p导入/p* p配置cpp库文件/p* pSystem.load(D:/xxx/java/com/my/study/cpp_jni/MyLibrary.so);/p**/ public class NativeTest {static {/*// 设置java.library.path路径System.setProperty(java.library.path, /path/to/library);// 通过System.loadLibrary()加载库文件System.loadLibrary(mylibrary);*/System.load(D:/xxx/java/com/my/study/cpp_jni/MyLibrary.dll);}private native void print();public static void main(String[] args) {new NativeTest().print();} } java文件格式说明 使用JavaC命令生成C语言的头文件.h文件 用命令javac -h . NativeTest.java自动生成C头文件 javac -h . NativeTest.java生成文件com_my_study_cpp_jni_NativeTest.h /* DO NOT EDIT THIS FILE - it is machine generated */ #include jni.h /* Header for class com_my_study_cpp_jni_NativeTest */#ifndef _Included_com_my_study_cpp_jni_NativeTest #define _Included_com_my_study_cpp_jni_NativeTest #ifdef __cplusplus extern C { #endif /** Class: com_my_study_cpp_jni_NativeTest* Method: print* Signature: ()V*/ JNIEXPORT void JNICALL Java_com_my_study_cpp_jni_NativeTest_print(JNIEnv *, jobject);#ifdef __cplusplus } #endif #endif com_my_study_cpp_jni_NativeTest.h文件格式说明 拷贝JDK include目录下的jni.h和win32/jni_md.h头文件到相同路径 修改com_my_study_cpp_jni_NativeTest.h文件的#include jni.h为#include jni.h引入方式避免查找C/C库 NativeTest.cpp实现C头文件函数 #includeiostream #include com_my_study_cpp_jni_NativeTest.husing namespace std; JNIEXPORT void JNICALL Java_com_my_study_cpp_jni_NativeTest_print(JNIEnv *, jobject) {cout Hello Word JNI endl;}编译C库文件 编译C源代码并创建本地库 // 编译C语言库 // gcc -ID:\xxx\Java\Java8\jdk\include\ -ID:\xxx\Java\Java8\jdk\include\win32\ NativeTest.c -shared -o MyLibrary.so // 编译C库 // g -ID:\xxx\Java\Java8\jdk\include\ -ID:\xxx\Java\Java8\jdk\include\win32\ NativeTest.cpp -shared -o MyLibrary.so // gcc -I 表示将后面的目录表示为第n个头文件的目录 执行测试报错 解决错误问题确认gcc、g版本是32还是64位 这里不如直接把vs装上测试因为那个无法找到库文件的问题我弄了几个小时这里不如直接装上vs装好vs后几分钟就生成好dll库了 我这里使用VS2022生成动态链接库装好创建一个C项目 这里是刚才根据对应头文件和cpp实现文件创建的文件结构文件都是上面的文件把文件放到对应位置就行了 对了这里的pch.h预编译头去掉一下因为用不到要不然一直报错 使用vs生成动态链接库把生成的代码放到D盘根目录方便测试修改一下Java测试代码这里可以看到我这里使用g指令生成的动态链接库比使用vs生成的动态链接库小说明使用指令生成的动态链接库还差了什么东西在里面我对C也不熟悉所以这里使用vs生成了 /*** 测试Java调用C库* p使用命令javac -h . NativeTest.java自动生成C头文件/p* p到jdk中的include\win32下单jni.h和jni_md.h头文件拷过来/p* p实现cpp文件/p* p编译/p* p导入/p* p配置cpp库文件/p* pSystem.load(D:/xxx/java/com/my/study/cpp_jni/_013_Cpp_VS_Dynamic_Link_Lib.dll);/p* pSystem.loadLibrary(_013_Cpp_VS_Dynamic_Link_Lib);//不加dll/p* Cant load IA 32-bit .dll on a AMD 64-bit platform需要下载64位cpp编译器不同cpu编译器不同*/ public class NativeTest {static {System.load(D:/_013_Cpp_VS_Dynamic_Link_Lib.dll);}private native void print();public static void main(String[] args) {new NativeTest().print();} }idea运行测试 这里可以看到运行了C编译打印的字符串Hello World JNI成功了撒花 总结 创建Java文件函数用native标记生成.h头文件拷贝jni.hjni_md.h文件调整文件引用位置实现头文件生成动态链接库这里使用VSJava调用
http://www.w-s-a.com/news/787858/

相关文章:

  • 建设工程监理网站前端和后端分别需要学什么
  • 公司网站制作效果国内最好的在线网站建设
  • 徐州好点的做网站的公司有哪些wordpress 工具插件下载
  • 如何用云服务器建设网站微网站免费开发平台
  • 官网的网站设计公司做网站需要准备哪些东西
  • 程序员和做网站那个好找工作wordpress二维码 插件
  • 湖南城市建设技术学院官方网站青海省建设局网站
  • 响应式网站有什么区别百度网站官网
  • 金华企业自助建站系统长沙建站公司模板
  • 云主机 做网站友情链接网站
  • 定制型网站设计天津网站模板建站
  • 为什么公司网站打开很慢wordpress汉化插件
  • 用dw做教学网站做网站用什么配置笔记本
  • 秦皇岛网站制作服务无网站无产品链接如何做SOHO
  • 国际婚恋网站做翻译合法吗南宁网络推广有限公司
  • 济南做网站公司排名销售市场规划方案
  • 营销型网站定制珠海建站网站
  • 企业网站代码wordpress页面重定向循环
  • 厦门网站建设哪家便宜用wordpress做企业网站
  • 网站备案有幕布python 做网站速度
  • 旅游网站模板psd网站后台维护主要做什么
  • 晋江做任务的网站网站如何设置关键词
  • 呼伦贝尔网站建设呼伦贝尔ps网页设计心得体会
  • 字母logo设计网站动画设计方案及内容
  • 怎样做网站建设方案wordpress 附件预览
  • 网站内容编辑wordpress cron原理
  • 户外商品网站制作建筑网络图片
  • 注册了网站怎么建设做网站是学什么专业
  • 济南建设网站哪里好网站色哦优化8888
  • 什么网站做简历最好外贸公司网站大全