JNI java调用c函数 native 步骤 代码

原创 2006年06月09日 16:33:00

步骤:

1、java中声明该函数为native

public class MyNative
{
 public static native void greeting();
 static 
 {
  System.loadLibrary("MyNative");
 }
 public static void main(String[] args)
 {
  greeting();
 }
}

2、编译


E:/native>javac MyNative.java

E:/native>javah MyNative

声称.h文件

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

#ifndef _Included_MyNative
#define _Included_MyNative
#ifdef __cplusplus
extern "C" {
#endif
/*
 * Class:     MyNative
 * Method:    greeting
 * Signature: ()V
 */
JNIEXPORT void JNICALL Java_MyNative_greeting
  (JNIEnv *, jclass);

#ifdef __cplusplus
}
#endif
#endif

3、编写调用的C函数

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

JNIEXPORT void JNICALL Java_MyNative_greeting
  (JNIEnv * env, jclass cl)
{
 printf("Hello Native!/n");
 return;
}

编译出库文件

windows:

cl -ID:/jdk/jdk1.5.0_06/include -ID:/jdk/jdk1.5.0_06/include/win32 -LD
 MyNative.c -FeMyNative.dll

linux

gcc -c -fPIC -I/opt/jdk1.5.0_06/include -I/opt/jdk1.5.0_06/include/linux MyNative.c
gcc -shared -o libMyNative.so MyNative.o

 

jni java调用C代码小示例

  • 2017年08月24日 10:59
  • 20.01MB
  • 下载

JNI JAVA与C的互相调用

Java调用C例子:java端调用c端的add,两个数相加1.java端void test() { int addr = add(100,200); test.setText("add...

JNI java native方法

在查看java Object类的hashCode方法时,发现里面有几个native方法(本地方法),在网上查了查,记录一下。 public class Object { private stat...

jni java传递对象到C

  • 2011年12月20日 15:13
  • 74KB
  • 下载

JNI java和c之间对象的传递

在写JNI时java与C之间的数据传递是很寻常的,这里分析下集中java和C之间的传值情况。 1.java与C之间的基本数据传递。 在这之前有必要先了解java与C之间基本类型映射关系...

JNI(java Native Interface)linux下 java调用本地c函数

1.准备工作:Ubuntu安装jdk,jre安装: sudo apt-get install openjdk-9-jdk openjdk-9-jre 配置环境变量:vim ~/.zshrc ...

jni java delphi调用

  • 2011年02月22日 15:49
  • 14KB
  • 下载

JNI Java调用C++

在windows环境下使用Java调用c++的实现vs新建一个NativaInvoke的dll工程,拷贝jdk目录下(C:\Program Files\Java\jdk1.8.0_66\include...

jni java调用c++实现的dll

忽如一夜春风来,千树万树梨花开。听说android支持了c++开发,哥们那叫个happy。只可惜,现在才开始学习。搜啊搜,说是要用ndk。搜啊搜,知道了ndk是用c++写.so(windows下为dl...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:JNI java调用c函数 native 步骤 代码
举报原因:
原因补充:

(最多只允许输入30个字)