Java中Jni調用DLL文件試驗
下面是小編整理的Java中Jni調用DLL文件試驗內容,希望可以爲您帶來幫助!更多內容請關注應屆畢業生考試網!
所有文件均在E:路徑下。
安裝jdk1.6.0_07
安裝了VC++6.0
第一步,
第二步,
E:>javac
得到
s
第三步,
E:>javah HelloWorld
得到
HelloWorld.h
第四步,
編寫一個C文件
HelloWorldImp.c
第五步,
使用cl編譯
第六步,
成功
後來繼續試驗,目標是Java調用打印機的,方法是dll調用dll:建立中間dll,兼顧Jni方法,調用實現動作。(提前告訴您結果:我失敗了)
------------------------下面有源碼:
所有文件均在E:路徑下。
安裝jdk1.6.0_07
安裝了VC++6.0
第一步,
/**
* @author pinkfloyd
*
*/
public class HelloWorld {
/**
* @param args
*/
public static void main(String[] args) {
// TODO 自動生成方法存根
new HelloWorld()layHelloWorld();
}
public native void displayHelloWorld();
static{
Library("hello");
}
}
第二步,
E:>javac
得到
s
第三步,
E:>javah HelloWorld
得到
HelloWorld.h
/* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h>
/* Header for class HelloWorld */
#ifndef _Included_HelloWorld
#define _Included_HelloWorld
#ifdef __cplusplus
extern "C" {
#endif
/*
* Class: HelloWorld
* Method: displayHelloWorld
* Signature: ()V
*/
JNIEXPORT void JNICALL Java_HelloWorld_displayHelloWorld
(JNIEnv *, jobject);
#ifdef __cplusplus
}
#endif
#endif
第四步,
編寫一個C文件
HelloWorldImp.c
#include "jni.h"
#include "HelloWorld.h"
JNIEXPORT void JNICALL Java_HelloWorld_displayHelloWorld(JNIEnv *env, jobject obj) {
printf("Hello world!n");
return;
}
相關文章
-
java基礎之final、finally和finalize的區別
在java 基礎中,final、finally和finalize的區別有哪些?下面本站小編帶大家一起來看看詳細內容,希望對大家有所幫助!想了解更多相關信息請持續關注我們應屆畢業生考試網!l可以修飾類,不能被繼承;可以修飾方法,不能被重寫;可以 -
java的String=a; a==null和a.equals(null)這兩個判斷有什麼區別
1、String 的==與equal()在對字符串的相等判斷,==判斷的是地址是否相同,equal()判斷的是字符值是否相同。大多數時候==跟equal()的結果都是相同的。這是因爲String對象是不變模式的,如果你不是明確地new一個String對象,Ja -
JavaScript中null和undefined的異同
先說null,它表示一個特殊值,常用來描述“空值”。對null執行typeof運算,結果返回字符串“object”,也就是說,可以將null認爲是一個特殊的對象值,含義是“非對象”(感覺怪怪的)。實際上,通常認爲null是它自有類型的唯一一個成員 -
講解Java編程中finally語句的使用方法
在java中的finally關鍵一般與try一起使用,在程序進入try塊之後,無論程序是因爲異常而中止或其它方式返回終止的,finally塊的內容一定會被執行,寫個例子來說明下:public class TryAndFinallyTest { public static void main -
java調用linux命令傳輸遠程大文件
java程序中要執行linux命令,那麼java怎麼執行linux命令?有什麼代碼?下面跟yjbys小編一起來看看吧![java] view plain copy print?public class LinuxCall {public static void main(String[] args) {// String[] cmdAr -
java程序中如何調用linux命令
全校師生: 您可曾想過,有這樣一羣特殊而困難的人:他們雖然有眼,但看不見五彩繽紛的大千世界;他們雖然有耳,但聽不到時代的呼喚;他們雖然有口,但無法吐露真誠的心聲;他們雖然有腳,但卻在人生的里程中艱難地爬行……他們多麼渴望 -
Java中Finally關鍵字
Java 編程的人都知道 finally 語句塊的作用和用法。以下就是小編精心推薦Java中Finally關鍵字,希望對大家有幫助!final:禁止多態開關~修飾變量:變量不能被改變修飾類:類不能被繼承修飾方法:方法不能被重寫finally:用在異常 -
Java中finally的問題
在日常學習、工作或生活中,說到作文,大家肯定都不陌生吧,作文是一種言語活動,具有高度的綜合性和創造性。相信寫作文是一個讓許多人都頭痛的問題,下面是小編幫大家整理的小飛蟲作文,歡迎閱讀,希望大家能夠喜歡。小飛蟲作文1 -
Java調用Linux命令行
Java語言以其跨平臺性和簡易性而著稱,在Java裏面的lang包裏(ime)提供了一個允許Java程序與該程序所運行的環境交互的接口,這就是Runtime類,在Runtime類裏提供了獲取當前運行環境的接口。那麼java怎麼調用Linux命令行,跟yj -
Java中final關鍵字用法的講解
1. final variablefinal variable 就是一個常量,一旦被初始化就不可以被改變。class Test1 { final double PI = 3.14; //常量的名稱最好大寫 public Test1(){ PI = 3.14; } void test(){ tln("PI is: " + PI); } publ