初探JNI技术,HelloWorld 图文详细教程(2)

#ifndef _Included_com_hello_HelloWorld
#define _Included_com_hello_HelloWorld
#ifdef __cplusplus
extern "C" {
#endif
/*
 * Class:    com_hello_HelloWorld
 * Method:    hello
 * Signature: (Ljava/lang/String;)V
 */
JNIEXPORT void JNICALL Java_com_hello_HelloWorld_hello
  (JNIEnv *, jobject, jstring);

#ifdef __cplusplus
}
#endif
#endif

JNIHelloWorld.cpp:

// JNIHelloWorld.cpp : Defines the entry point for the DLL application.
//

#include "stdafx.h"
#include "com_hello_HelloWorld.h"

BOOL APIENTRY DllMain( HANDLE hModule,
                      DWORD  ul_reason_for_call,
                      LPVOID lpReserved
      )
{
    return TRUE;
}


JNIEXPORT void JNICALL Java_com_hello_HelloWorld_hello
 (JNIEnv *, jobject, jstring)

{
 printf("I am in C++!\n");
 return;
}

6、效果如下: 

初探JNI技术,HelloWorld 图文详细教程

可以看到,我们在Java中,调用C++的方法成功!

至此,一个完整的HelloWorld版本的JNI过程,就完成了。

Tiny6410内核模块编译之HelloWorld 

HelloWorld之Hibernate版

在Ubuntu上编写Qt HelloWorld程序

Tiny6410内核模块编译之HelloWorld

用Pthreads进行共享内存编程----HelloWorld

Hadoop实例之HelloWorld

Qt Creator for PlayBook上的HelloWorld (Windows版)

Tiny6410 简单的交叉编译helloworld     

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/4bd1b96adccc60d644aad23cf46f30b8.html