C和C++中FindClass用法区别
2012-02-24 12:35
441 查看
如果是c程序,要用 (*env)->
如果是C++要用 env->
ps:在linux下如果.c文件中用 “env->” 编译会找不到此结构,必须用“(*env)->”,或者改成.cpp文件,以 c++的方式来编译。
以下是两者的区别:
jni.h中
struct JNINativeInterface_;
struct JNIEnv_;
#ifdef __cplusplus
typedef JNIEnv_ JNIEnv;
#else
typedef const struct JNINativeInterface_ *JNIEnv;
#endif
/*
* We use inlined functions for C++ so that programmers can write:
*
* env->FindClass("java/lang/String")
*
* in C++ rather than:
*
* (*env)->FindClass(env, "java/lang/String")
*
* in C.
*/
即C++中使用
env->FindClass("java/lang/String")
C中使用
(*env)->FindClass(env, "java/lang/String")
如果是C++要用 env->
ps:在linux下如果.c文件中用 “env->” 编译会找不到此结构,必须用“(*env)->”,或者改成.cpp文件,以 c++的方式来编译。
以下是两者的区别:
jni.h中
struct JNINativeInterface_;
struct JNIEnv_;
#ifdef __cplusplus
typedef JNIEnv_ JNIEnv;
#else
typedef const struct JNINativeInterface_ *JNIEnv;
#endif
/*
* We use inlined functions for C++ so that programmers can write:
*
* env->FindClass("java/lang/String")
*
* in C++ rather than:
*
* (*env)->FindClass(env, "java/lang/String")
*
* in C.
*/
即C++中使用
env->FindClass("java/lang/String")
C中使用
(*env)->FindClass(env, "java/lang/String")
相关文章推荐
- C++中,string::nops 的用法以及和string.find()的区别
- c++ map.count 和map.find 的用法区别
- ·C++中struct与class结构的区别
- CSS中的class与id区别及用法
- c# 中的静态类(satic class)和具体类的区别及用法
- 【C++】DDX_Control、SubclassWindow和SubclassDlgItem的区别
- 在c++中struct和class的区别
- C语言与C++中static,extern的用法及区别总结
- 深入C++ string.find()函数的用法总结
- C++:struct与class的区别
- (C++)STL排序函数sort和qsort的用法与区别
- C++中typename和class的区别
- C++中static_cast, dynamic_cast, const_cast用法/使用情况及区别解析
- [HTML]CSS中的class与id区别及用法
- C++中类class与结构体struct的异同区别
- C++中class和struct的区别
- c++ 中 struct 和 class 的区别
- C++中struct与Class的区别
- typedef struct 在C和C++中用法的区别
- C++中class、struct、union的区别