Este repositorio explica cómo ejecutar código nativo en Java usando JNI (Java Native Interface) en Windows con JDK 21 y MinGW.
- JDK 21 (Verifica con
java -version) - MinGW para compilar código C (
gcc).
project/
│── NativeExample.java # Clase Java con método nativo
│── NativeExample.c # Implementación en C
│── NativeExample.h # Archivo de encabezado generado por javac
│── nativeLib.dll # Biblioteca nativa compilada
│── README.md # Esta guía
📌 Crea el archivo NativeExample.java
public class NativeExample {
static {
System.loadLibrary("nativeLib"); // Cargar la biblioteca nativa
}
public native void sayHello(); // Método nativo
public static void main(String[] args) {
new NativeExample().sayHello();
}
}Ejecuta el siguiente comando en CMD:
javac -h . NativeExample.javaArchivos generados:
NativeExample.class(bytecode compilado)NativeExample.h(archivo de encabezado JNI)
📌 Crea el archivo NativeExample.c
#include <jni.h>
#include <stdio.h>
#include "NativeExample.h"
JNIEXPORT void JNICALL Java_NativeExample_sayHello(JNIEnv *env, jobject obj) {
printf("Hello from C!\n");
}Ejecuta en CMD:
El archivo build.bat contiene el siguiente comando:
gcc -shared -o nativeLib.dll -I"%JAVA_HOME%\include" -I"%JAVA_HOME%\include\win32" NativeExample.cArchivo generado: nativeLib.dll
Ejecuta en CMD:
El archivo exec.bat contiene el siguiente comando:
java "-Djava.library.path=." NativeExampleHello from C!
Siguiendo estos pasos, se ejecuta código nativo en C desde Java usando JNI. 🚀