易截截图软件、单文件、免安装、纯绿色、仅160KB

使用vc++ 6.0制作dll,并在java程序中使用(转)


雖然JAVA的程式都必須在JAVA的虛擬機器上執行,但是我們可以在這部機器中打一個洞,讓JAVA程式可以直接溝通實際的機器
JNI是一種讓JAVA程式可以外接外部程式的一種機制,讓JAVA程式更具有擴充性,下面將示範一個簡單的範例,這個範例中說明JAVA程式如何與C語
言接軌,事實上昨天所談的Prolog就是利用這種方式使Java程式可以使用prolog,透過dll和native的方式來達成這項任務,經過這樣的
測試與實驗之後讓我不得不佩服java這個程式語言
你不需要擔心程式方面的問題,因為底下的程式架構都相當簡單,主要只是讓我們體驗一下
工具介紹:我將使用visual c++ 6.0來製作dll,使用java sdk 1.4來編譯我的java
java部分的實作
程式碼如下(HelloWorld.java):
class HelloWorld {
public native void displayHelloWorld();//左方的native型態是通知Java這個函數會使用到外部函數

static {
System.loadLibrary("hello");//左方的程式碼代表我要載入hello.dll的動態連結,hello.dll的製作我在稍後會做介紹
}

public static void main(String[] args) ...{
new HelloWorld().displayHelloWorld();
}
}
當你完成上述的程式之後,將這個程式存檔為''HelloWorld.java''先用''javac
HelloWorld.java''這個指令將它組譯成HelloWorld.class,然後使用''javah
HelloWorld''產生HelloWorld.h,在HelloWorld.h中我們知道我們要實作一個函數
Java_HelloWorld_displayHelloWorld(JNIEnv *, jobject); 接下來我將介紹如何完成這個函數
&


相关文档:

JAVA:用多线程实现时间的动态显示

import java.awt.*;
import javax.swing.*;
import java.util.Date;
import java.awt.*;
class Time extends JFrame implements Runnable{//实现接口
Thread clockThread;
   JLabel jLabel=new JLabel();
   public Time()
   {
   Container con=this.getContentPane() ......

Java之static学习

对于学习static我们先来看两个例子:
//Example 1 Tst.java,no main() method
package com.blogchina.qb2049;
public class Tst
{
static { System.out.println("111111"); }
}
运行结果为: 111111
Exception in thread "main" java.lang.NoSuchMethodError: main
同样的道理看第二 ......

JAVA程序员面试之葵花宝典

JAVA程序员面试之葵花宝典
1、面向对象的特征有哪些方面
1.抽象:抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。抽象包括两个方面,一是过程抽象,二是数据抽象。
2.继承:继承是一种联结类的层次模 ......

常见算法学习及其Java实现

package org.bupt.test;
import java.util.ArrayList;
class MyResource {
    ArrayList<Integer> arrList= new ArrayList<Integer>();
    public MyResource(ArrayList<Integer> arrList) {
        this.arrList = arrList;
&nbs ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号