JNI Java 向C传送字符串尝试-附代码
2013-04-19 15:43
609 查看
代码是网上帖子找的,感觉比其他简单易懂,借鉴一下。
Java代码
C代码
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代码
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
相关文章推荐
- jni技术java调用c代码返回字符串
- jni技术 java代码调用c++代码返回字符串
- JNI中如何在本地代码中生成和操作Java的对象和字符串,并编写应用实例
- 编写高质量代码:改善Java程序的151个建议(第4章:字符串___建议52~55)
- JNI开发第二篇通过反射实现C中调用java代码,并实现Log打印日志
- 系统性能调优(5)----Java循环与字符串代码优化
- java查找字符串中的包含子字符串的个数实现代码
- [改善Java代码]自由选择字符串拼接方法
- 用BSF + Beanshell使Java程序能够运行字符串形式的代码(转载)
- 使用Groovy把json字符串转成Java代码
- JNI NDK (AndroidStudio+CMake )实现Java调用C C++代码流程
- java实现汉字取拼音首字母--尝试着贴些简洁的对大家可能有用的代码 推荐
- 【java学习】java中字符串转换编码的代码片段
- JNI实现最简单的JAVA调用C/C++代码
- Java代码实现获取XML字符串中的属性
- (JNI)c代码利用反射调用java方法
- 01_JNI是什么,为什么使用,怎么用JNI,Cygwin环境变量配置,NDK案例(使用Java调用C代码),javah命令使用
- 02_JNI中Java代码调用C代码,Android中使用log库打印日志,javah命令的使用,Android.mk文件的编写,交叉编译
- JNI中的使用把java中字符串转变为c中char*