| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1705 人关注过本帖
标题:求用JNDI实现用Java调用c++的例子
只看楼主 加入收藏
huangnetian
Rank: 1
等 级:新手上路
帖 子:31
专家分:0
注 册:2005-9-24
收藏
 问题点数:0 回复次数:4 
求用JNDI实现用Java调用c++的例子
我有个项目需求,用Java调用C++方法,要让我用JNDI实现,请问哪位大哥们有例子,给我发一个,谢谢!!!急!!!
搜索更多相关主题的帖子: Java JNDI 例子 需求 
2007-03-27 14:21
支离破碎
Rank: 6Rank: 6
等 级:贵宾
威 望:23
帖 子:737
专家分:0
注 册:2007-1-4
收藏
得分:0 
不会。。。不过网上有大把的例子。。

http://blog.csdn.net/joy_cz/archive/2006/12/29/1466466.aspx

人生漂泊無依,有如浮萍菱花,隨水飄流,你会在我这里停留吗?
[url=http://51mynet.]http://51mynet.[/url]
2007-03-27 15:08
angeloc
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:36
帖 子:1353
专家分:0
注 册:2006-11-21
收藏
得分:0 
以下是引用huangnetian在2007-3-27 14:21:54的发言:
我有个项目需求,用Java调用C++方法,要让我用JNDI实现,请问哪位大哥们有例子,给我发一个,谢谢!!!急!!!

你是想说用JNI吧?JNDI跟JNI可不是一个东西啊


老牛明知夕阳晚,不用扬鞭自奋蹄; Angelo\'s BLOG
2007-03-27 15:18
ILoveMK
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:487
专家分:0
注 册:2007-2-12
收藏
得分:0 

JNI(JAVA NATIVE INTERFACE,JAVA本地接口)
是JAVA在特殊情况下,(如强调效率或与平台
有关的功能)必须调用本地方法时的接口规则。
下面是一个无限简单的样例:
程序功能:用JAVA调用本地用VC写的一个函数,
该函数输入一个整数,输出整数的平方加3。
1、首先,建立自己的JAVA主程序jnitest.java
jnitest.java :

import java.lang.*;
public class jnitest {
public static void main(String args[]) {
jnitest Mytest = new jnitest();
int a = 4;
int b = Mytest.Cal(a);
System.out.println("The result is : "+b);
}

public native int Cal(int i) ;

static {
System.loadLibrary("MyCal");
// MyCal 是本地方法的动态链接库的名称
}
}

2、然后javac jnitest.java ,生成.CLASS文件。
3、然后javah -jni jnitest , 生成jnitest.h。
编辑jnitest.h ,找到JAVA定义的本地方法的原型:

JNIEXPORT jint JNICALL Java_jnitest_Cal
(JNIEnv *, jobject, jint)

4、根据函数原形,编写C函数如下:
#include "jni.h"
#include "jnitest.h"

JNIEXPORT jint JNICALL Java_jnitest_Cal
(JNIEnv *env, jobject obj, jint a)
{
return ( a * a + 3) ;
}

注意必须INCLUDE 生成的jnitest.h和JAVA自带的jni.h
用VC编译之,生成MyCal.dll。
5、将MyCal.dll拷贝到jnitest所在目录,运行 :
java jnitest

结果为:The result is :19
OK !!!


天下归心
2007-03-27 21:07
黄袖标
Rank: 4
等 级:贵宾
威 望:13
帖 子:676
专家分:0
注 册:2007-3-22
收藏
得分:0 
可以写webservice嘛,大家可以互调,多爽。

我胡汉三又回来啦!物是人非啊,只有静夜思大大还在。
2007-03-28 13:07
快速回复:求用JNDI实现用Java调用c++的例子
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019299 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved