java2有个jni接口,可以在java代码中调用c/c++代码
我看了几篇教程,比如这个封装标准c库中atol函数的:
public class C {
     public static native int atol(String str);
     ...
 }JNIEXPORT jint JNICALL 
 Java_C_atol(JNIEnv *env, jclass cls, jstring str)
 {
     const char *cstr = env->GetStringUTFChars(str, 0);
     if (cstr == NULL) {
         return 0; /* out of memory */
     }
     int result = atol(cstr);
     env->ReleaseStringUTFChars(str, cstr);
     return result;
 }
需要对应每个封装的函数都写一个c++版本的实现
那这样要是封装一个百兆的库,对应于每个函数都写一个实现函数,工作量是何其的大,简直相当于
重新写了一遍这个库,而且还要求对这个库的所有细节都要很了解...是这样的么?