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

12306网站开发多少钱/常德网站建设制作

12306网站开发多少钱,常德网站建设制作,网站 建设 标准方案,怎么查询公司名字是否被注册Java JNI实践,javajni实践JNI是Java Native Interface的缩写,中文为JAVA本地调用。从Java1.1开始,Java Native Interface(JNI)标准成为java平台的一部分,它允许Java代码和其他语言写的代码进行交互(如C/C),很好 的解决…

Java JNI实践,javajni实践

JNI是Java Native Interface的缩写,中文为JAVA本地调用。从Java1.1开始,Java Native Interface(JNI)标准成为java平台的一部分,它允许Java代码和其他语言写的代码进行交互(如C/C++),很好 的解决了JAVA不能跨语言的缺陷。自己简单的拼凑了一个小例子。

无图无真相,先上图(图是参照别人的画的):

实现步骤:

准备: C/C++开发工具用的VC++,Java用的eclipse

1、用eclipse定义如下NativeTest.java

public class NativeTest {

static {

//加载本地库

System.loadLibrary("NativeTest");

}

/*

*定义本地方法

*@param msg 申明要带的参数

**/

private static native void sayHello(String msg);

public static void main(String[] args) {

//调用本地方法

NativeTest.sayHello("The First Native Program");

System.out.println("\n---OVER----");

}

}

2、进入src目录编译NativeTest.java生成NativeTest.class文件,再使用命令javah NativeTest生成供C\C++使用的头文件 NativeTest.h,如下:

/* DO NOT EDIT THIS FILE - it is machine generated */

#include "jni.h"

/* Header for class NativeTest */

#ifndef _Included_NativeTest

#define _Included_NativeTest

#ifdef __cplusplus

extern "C" {

#endif

/*

* Class: NativeTest

* Method: sayHello

* Signature: (Ljava/lang/String;)V

*/

JNIEXPORT void JNICALL Java_NativeTest_sayHello

(JNIEnv *, jclass, jstring);

#ifdef __cplusplus

}

#endif

#endif

3、打开VC++建立一个Win32 Dynamic-Link Library工程

在弹出以下窗口后选择简单的DLL工程,再点击完成

将 NativeTest.h拷贝放置C工程目录下。

选中 NativeTest.h导入工程

编辑StdAfx.h,在最后面加上

#include " NativeTest.h"

打开NativeTest.cpp

将NativeTest.h中的

JNIEXPORT void JNICALL Java_NativeTest_sayHello

(JNIEnv *, jclass, jstring)

拷贝贴进去并实现,如下:

JNIEXPORT void JNICALL Java_NativeTest_sayHello

(JNIEnv * env, jclass obj, jstring jMsg)

{

const char *strMsgPtr = env->GetStringUTFChars( jMsg , 0);

printf(strMsgPtr);

env->ReleaseStringUTFChars( jMsg, strMsgPtr);

}

OK。F7 biuld一把会出现以下错误:

解决思路有三种:

a、\jdk\include\jni.h       \jdk\include\win32\jawt_md.h    \jdk\include\win32\jni_md.h

复制到VC++的安装目录下的\VC98\include目录中

b、将\jdk\include\jni.h  \jdk\include\win32\jawt_md.h    \jdk\include\win32\jni_md.h拷贝到C的工程目录,并将NativeTest.h 中的 #include 改成#include "jni.h"

c、点击VC++菜单栏的工具按钮---> 选择 选项 ----> 点击弹出窗体选项卡上的目录 ----> 点击新建图标

添加上jdk所在文件夹下的include和include\win32文件夹。

再编译, OK。成功。

4、将C工程debug目录生成的NativeTest.dll拷贝到java的运行目录。(ps: 跟class丢在一起)

5、java NativeTest 打印以下内容, 调用成功了。

相关文章暂无相关文章

http://www.jmfq.cn/news/4802041.html

相关文章:

  • 在猪八戒网站如何做兼职/吉林网站seo
  • 想制作自己的网站/seo优化顾问服务
  • 上海新闻网最新新闻事件/河南seo推广
  • 诸暨网站建设公司/手机seo关键词优化
  • 热卖平台网站怎么做/青岛网站快速排名提升
  • 手机网站制作天强科技/网络广告营销方案策划
  • 建立一个网站的英文/百度竞价网站
  • 中卫网站定制开发设计/网站系统开发
  • 在线做ppt的网站有哪些问题/南宁网站制作
  • 南宁建站系统模板/竞价培训班
  • 东阳实惠营销型网站建设厂家/seo教程视频
  • wordpress怎么选主题/兰州网络seo公司
  • 招远网站建设价格/怎样搭建网站
  • 关键词排名优化易下拉技巧/东莞网络优化调查公司
  • 晋中住房与城乡建设厅网站/seo推广优化培训
  • 给企业做网站的好处/百度一下首页版
  • 知名品牌形象设计公司/优化关键词具体要怎么做
  • 做网站为什么图片上传不了/免费平台
  • 网站建设怎么报价/津seo快速排名
  • 用什么软件做网站设计/天津seo公司
  • 专业的上海网站建设公司排名/企业网站页面设计
  • 网站网站制作怎么样/河南自助建站seo公司
  • 论坛网站模板/优化师是做什么的
  • 办公空间设计要素/北京网站优化经理
  • 前端网站开发流程图/关键词搜索指数查询工具
  • 网站风格有哪些/如何找外包的销售团队
  • 柳州网站建设推荐/互联网推广公司靠谱吗
  • 姚家园做网站/广州网站制作公司
  • 河南郑州百度网站建设/免费b2b网站推广渠道
  • 找别人做网站一定注意什么/4001688688人工服务