当前位置: 技术问答>java相关
关于在java代码中调用本地方法(如何得到所需的dll文件???)
来源: 互联网 发布时间:2015-08-08
本文导语: 各位DX: 我现在想在java中调用c写的代码,但是查了资料以后发现比较麻烦,我主要碰到了如下两个问题: 我先写了个简单的例子: class HelloNative { public native static void greeting(); } 然后我用javah编译它,生成了.h文件,将...
各位DX:
我现在想在java中调用c写的代码,但是查了资料以后发现比较麻烦,我主要碰到了如下两个问题:
我先写了个简单的例子:
class HelloNative
{
public native static void greeting();
}
然后我用javah编译它,生成了.h文件,将文件中的如下代码:
JNIEXPORT void JNICALL Java_HelloNative_greeting
(JNIEnv *, jclass);
拷贝到了c程序之中,所以我的c代码就生成了,如下所示:
#include "hellonative.h"
#include
JNIEXPORT void JNICALL Java_HelloNative_greeting
(JNIEnv* Env, jclass cl)
{
printf("Hello,Native World!n");
}
然后,我将hellonative.h拷贝到TURBOC2INCLUDE下面,接着编译,却总是说打不开hellonative.h,我实在不明白是为什么了?????请高手解释.---(问题一)
另外,如果编译通过了,那我怎么才能将这个c文件变成dll文件呢?我下载了
Borland c++ Compiler编译器,但是不会用:( ---(问题二),望了解这方面的DX能告诉我应该怎么做.谢谢各位了!
我现在想在java中调用c写的代码,但是查了资料以后发现比较麻烦,我主要碰到了如下两个问题:
我先写了个简单的例子:
class HelloNative
{
public native static void greeting();
}
然后我用javah编译它,生成了.h文件,将文件中的如下代码:
JNIEXPORT void JNICALL Java_HelloNative_greeting
(JNIEnv *, jclass);
拷贝到了c程序之中,所以我的c代码就生成了,如下所示:
#include "hellonative.h"
#include
JNIEXPORT void JNICALL Java_HelloNative_greeting
(JNIEnv* Env, jclass cl)
{
printf("Hello,Native World!n");
}
然后,我将hellonative.h拷贝到TURBOC2INCLUDE下面,接着编译,却总是说打不开hellonative.h,我实在不明白是为什么了?????请高手解释.---(问题一)
另外,如果编译通过了,那我怎么才能将这个c文件变成dll文件呢?我下载了
Borland c++ Compiler编译器,但是不会用:( ---(问题二),望了解这方面的DX能告诉我应该怎么做.谢谢各位了!
|
你按照提示应该提示你找不到一些头文件比如jni.h,jni_md.h把这些文件加载到你的c++builder里面,ok!
E:JBuilder6jdk1.3.1includewin32jni_md.h
E:JBuilder6jdk1.3.1includejni.h
ok!你就可以编译通过了
E:JBuilder6jdk1.3.1includewin32jni_md.h
E:JBuilder6jdk1.3.1includejni.h
ok!你就可以编译通过了
|
TURBOC2 这能写dll吗?
windows平台上一般用VC,Unix平台上用gcc,我都试过了,都可以。
windows平台上一般用VC,Unix平台上用gcc,我都试过了,都可以。