您的位置:首页 > 编程语言 > Java开发

JNI Java 向C传送字符串尝试-附代码

2013-04-19 15:43 609 查看
代码是网上帖子找的,感觉比其他简单易懂,借鉴一下。

Java代码

public class Sample1{
public native String stringMethod(String text);

public static void main(String[] args)
{
System.loadLibrary("Sample1");
Sample1 sample = new Sample1();
String text = sample.stringMethod("Thinking");
System.out.println("stringMethod:"+text);
}
}


C代码

#include <D:\Java\Sample1.h>
#include<string.h>
#include <ctype.h>

JNIEXPORT jstring JNICALL Java_Sample1_stringMethod (JNIEnv *env, jobject obj,
jstring string){
int i;
const char *str = (*env)->GetStringUTFChars(env,string,0);
char cap[128];
strcpy(cap,str);
(*env)->ReleaseStringUTFChars(env,string,str);
for(i= 0; i<strlen(cap); i++){
*(cap+i)=(char)toupper(*(cap+i));
}
return (*env)->NewStringUTF(env,cap);
}


Java代码在:D:\Java\

C工程:Sample1

编译方法见:http://425093014.blog.51cto.com/5109559/1181233

Release后把Sample1.dll放入JDK的bin目录下,如:C:\Program Files\Java\jdk1.7.0_15\bin

cmd进入D:\Java\,使用命令java Sample1
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java JNI c