⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 onetoone.cpp

📁 jni java本地接口编程例子原代码,是java调用本地操作系统代码的接口
💻 CPP
字号:
#include <windows.h>
#include <jni.h>
#include <stdio.h>
#include "C.h"
#include "Win32.h"

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;
}


JNIEXPORT jint JNICALL Java_Win32_CreateFile(
        JNIEnv *env,
        jclass cls,
        jstring  fileName,         // file name
        jint desiredAccess,        // access (read-write) mode 
        jint shareMode,            // share mode 
        jintArray secAttrs,        // security attributes 
        jint creationDistribution, // how to create 
        jint flagsAndAttributes,   // file attributes 
        jint templateFile)         // file with attr. to copy
{
    jint result = 0;
    jint *cSecAttrs = NULL;
    if (secAttrs) {
        cSecAttrs = env->GetIntArrayElements(secAttrs, 0);
        if (cSecAttrs == NULL) {
            return 0; /* out of memory */
        }
    }
    const char *cFileName = env->GetStringUTFChars(fileName, NULL);
    if (cFileName) {
        /* call the real Win32 function */
        result = (jint)CreateFile(cFileName,
                            desiredAccess,
                            shareMode,
                            (SECURITY_ATTRIBUTES *)cSecAttrs,
                            creationDistribution,
                            flagsAndAttributes,
                            (HANDLE)templateFile);
        //free(cFileName);
    }
    /* else fall through, out of memory exception thrown */
    if (secAttrs) {
        env->ReleaseIntArrayElements(secAttrs, cSecAttrs, 0);
    }
    return result;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -