|
|
Start of Tutorial > Start of Trail > Start of Lesson |
Search
Feedback Form |
Now, you can finally write the implementation for the native method in a language other than Java.
Note: Back to that "real world," C and C++ programmers may already have existing implementations of native methods. For those "real" methods, you need only ensure that the native method signature matches the signature generated on the Java side.The function that you write must have the same function signature as the one generated by
javahin theHelloWorld.hfile in Step 3: Create the .h File. Recall that the function signature generated for theHelloWorldclass'sdisplayHelloWorldnative method looks like this:Here's the C language implementation for the native methodJNIEXPORT void JNICALL Java_HelloWorld_displayHelloWorld(JNIEnv *, jobject);Java_HelloWorld_displayHelloWorld. This implementation is in the file namedHelloWorldImp.c.The implementation for#include <jni.h> #include "HelloWorld.h" #include <stdio.h> JNIEXPORT void JNICALL Java_HelloWorld_displayHelloWorld(JNIEnv *env, jobject obj) { printf("Hello world!\n"); return; }Java_HelloWorld_displayHelloWorldis straightforward. The function uses theprintffunction to display the string "Hello World!" and then returns.The
HelloWorldImp.cfile includes three header files:
jni.h- This header file provides information that the native language code requires to interact with the Java runtime system. When writing native methods, you must always include this file in your native language source files.HelloWorld.h- The.hfile that you generated in Step 3: Create the .h File.stdio.h- The code snippet above includesstdio.hbecause it uses theprintffunction. Theprintffunction is part of thestdio.hlibrary.
|
|
Start of Tutorial > Start of Trail > Start of Lesson |
Search
Feedback Form |
Copyright 1995-2004 Sun Microsystems, Inc. All rights reserved.