Java基础——native

native是什么?

用native修饰的方法称为本地方法,其由别的语言实现(C、C++)

示例

在桌面创建含native的Hello.java

public class Hello{
	public static native void printHello();
}

cmd打开windows终端,切换到桌面目录,然后用javac编译生成Hello.class文件(若javac用不了则自行搜索配置环境变量)

javac Hello.java

用javah将Hello.class生成Hello.h头文件(无需后缀)

javah Hello

打开Hello.h

/* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h>
/* Header for class Hello */

#ifndef _Included_Hello
#define _Included_Hello
#ifdef __cplusplus
extern "C" {
#endif
/*
 * Class:     Hello
 * Method:    printHello
 * Signature: ()V
 */
JNIEXPORT void JNICALL Java_Hello_printHello
  (JNIEnv *, jclass);

#ifdef __cplusplus
}
#endif
#endif

根据Hello.h中的声明创建Hello.c

#include"Hello.h"
#include<stdio.h>

JNIEXPORT void JNICALL Java_Hello_printHello(JNIEnv *, jclass){
	printf("hello\n");
}

用cl命令将Hello.c生成Hello.dll

若cl用不了,则用Everything搜索vcvars64.bat(若无该项,则自行安装VS),将其拖进命令行窗口运行(双击无法生效)
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值