先用vc写个.dll在里面封装调用函数
在你得java app里
System.Loadlibrary("youdllfile.dll");public native void yourFunction();ok;
可以用了

解决方案 »

  1.   

    windows下的dll,com,exe都可以调用,你可以自己写一个接口,或者、利用jacob包,或者利用oracle目录下一个包,每个都可以的实现的
      

  2.   

    你的问题涉及到了JNI(java 中的原生接口)问题,jni用于java与non-java代码的互访。 
    你的代码不全,是不是看到"java编程思想"中的一段,但你只写了java这一部分,还有c++部分的函数重整也即"MsgImpl"部分,是个dll文件。及头文件。具体你可看"java编程思想"中有一模一样的例子。头文件是由javah -jni <file>命令产生的。 
    你的class 似乎还要个public,这是java中的规定,pulbic与文件名同,我不知道jb是不是也要这样?我正在研究这个,相互讨论。 
    附所有源代码: 
    showmessage.java: 
    public class ShowMessage { 
    private native void ShowMessage(String msg); 
    static { 
    System.loadLibrary("MsgImpl"); 

    public static void main(String[] args) { 
    ShowMessage app = new ShowMessage(); 
    app.ShowMessage("Generated with JNI"); 

    } MsgImpl.cpp 
    #include <jni.h> 
    #include <stdio.h> 
    #include "ShowMessage.h" 
    extern "C" JNIEXPORT void JNICALL 
    Java_ShowMessage_ShowMessage(JNIEnv* env, 
    jobject, jstring jMsg) { 
    const char* msg=env->GetStringUTFChars(jMsg,0); 
    printf("Thinking in Java, JNI: %s\n", msg); 
    env->ReleaseStringUTFChars(jMsg, msg); 
    } 头文件ShowMessage.h是javah自动生成的,也附在下面 
    /* DO NOT EDIT THIS FILE - it is machine generated */ 
    #include <jni.h> 
    /* Header for class ShowMessage */ #ifndef _Included_ShowMessage 
    #define _Included_ShowMessage 
    #ifdef __cplusplus 
    extern "C" { 
    #endif 
    /* 
    * Class: ShowMessage 
    * Method: ShowMessage 
    * Signature: (Ljava/lang/String;)V 
    */ 
    JNIEXPORT void JNICALL Java_ShowMessage_ShowMessage 
    (JNIEnv *, jobject, jstring); #ifdef __cplusplus 

    #endif 
    #endif
    .jni :java native interface 
    是java代码与非代码交互的接口,更多的在jdk的文档中有很详细的说明,而且是中文的 2.不会"c"没关系,可使用相关的工具进行交互 
    www.stryon.com.cn中的r-jax就是这样一个工具, 
    还有ibm的BridgeToJava,JCom等工具
    1.jdk文档下载处,里面jni的规范说明。总共32M左右(arbow你可到这下载了:)) 
    http://java.sun.com/webapps/download/Redirect/8185595/5847479377282807053505607246086069333228071972022813600060132859339008063305596058473206-3865/j2sdk-1_4_1-doc.zip 2.r-jax下载(注必须要jdk1.1.6以上),你不能下载是要注册一个身份,你任意注册一个就行了。www.stryon.com.cn上有rjax的中文简介说明。 
    http://www.stryon.com/rjax/downloads/rJAX_2.4.2_P1.exe 3.bridge2java 在ibm的alphaWorks这个开发网站上,Robocode也在这个网站上 
    http://www.alphaworks.ibm.com,你搜索一下,一定给找到的。具体的我就不找了