4Java程序JNI調用C++之C++創建Java對象

javacode:

package cn.com.cloud.sea.nativeTest;

public class NativeCreateDate {
	public static void main(String[] args) {
		System.loadLibrary("NativeCreateDateDLL");
		showDate();
	}
	public native static void showDate();
}




 

 

c++ code:

#include "cn_com_cloud_sea_nativeTest_NativeCreateDate.h"
#include<iostream>
using namespace std;
JNIEXPORT void JNICALL Java_cn_com_cloud_sea_nativeTest_NativeCreateDate_showDate(JNIEnv * env, jclass jclazz)
{
	jclass date = env->FindClass("java/util/Date");//創建Date實例
	jmethodID method_date_init = env->GetMethodID(date,"<init>","()V");//獲得構造函數方法對象
	jobject now = env->NewObject(date,method_date_init);//獲得當期日期對象
	
	jmethodID method_date_execute = env->GetMethodID(date,"getTime","()J");
	jlong time = env->CallLongMethod(now,method_date_execute);
	cout<<time<<endl;
}


 

發佈了84 篇原創文章 · 獲贊 9 · 訪問量 38萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章