我现在有个abc.dll文件 
还有个头文件 aaa.h 我想用java调用这个dll文件   
我想调头文件里的一个方法
int  DIA_API NewGraph DIA_AL((long FAR *, graphnew_t FAR *));我想问下 java 怎么调用DLL文件里的这个方法
昨天我已经自己做了个java调用dll的小程序 已经跑通 可是像这样的 调用dll里的一个方法怎么实现呀 求帮助~~ 菜鸟请详细告诉下 谢谢

解决方案 »

  1.   

    我想问下我之前做的头文件里有如
    JNIEXPORT void JNICALL Java_testdll_setValue
      (JNIEnv *, jobject, jint);这样的文件可是现在的头文件里内容
    /*
     * Copyright (c) 1995 EiwaSystemManagement Co. All Rights Reserved
     */
    #ident "@(#)dialib.h 2.33 96/12/19 10:04:27 - EIWA/SCCS"#ifndef DIALIB_H
    #define DIALIB_H#ifdef __cplusplus
    extern "C" {
    #endif
    enum {
    PY_GETGRAPH = 0,
    PY_GETFLAG,
    PY_GETREF,
    PY_SETREF,
    PY_GETPROC,
    PY_SETPROC,
    PY_GETHWND,
    PY_HWND2PANE,
    PY_GETPOS,
    PY_SETPOS,
    PY_CENTVERT,
    PY_PT2VERT,
    #define PY_REDRAW_FLAG(i, s) MAKELONG(i, s)
    PY_REDRAW,
    PY_SETREDRAW,
    #define PY_MSG_SZ (128)
    PY_GETMSG,
    PY_SETMSG,
    PY_TEXVERT,
    PY_CHECKDEF,
    PY_GETNEXTPANE,
    PY_GETPREVPANE,
    PY_PANECLASS,
    PY_FIFACLASS,
    PY_ASSGRAPH,
    PY_sentinel
    };
    typedef struct paneinc {
    long pi_flag; /* flags */
    RECT pi_area; /* shown located space (Win32:long) */
    } paneinc_t;
    enum {
    PD_FONT_VERT, /* font for vertex-name drawing */
    PD_FONT_SZ
    };typedef struct panedef {
    long pd_flag;
    POINT pd_unit; /* Win32:long */
    POINT pd_vert; /* Win32:long */
    COLORREF pd_col[PD_COL_SZ];
    int pd_pen[PD_PEN_SZ]; /* Win32:long */
    LOGFONT pd_font[PD_FONT_SZ]; /* Win32:long */
    } panedef_t;

    long DIA_API EnumPanes DIA_AL((long, long, long, paneenumproc_t, long));
    long DIA_API EnumVerts DIA_AL((long, long, long, vertenumproc_t, long));
    long DIA_API FindVert DIA_AL((long, vertdef_t FAR *));
    int  DIA_API LocVerts DIA_AL((long));
    int  DIA_API ZapVerts DIA_AL((long));
    int  DIA_API AppVerts DIA_AL((long, vertdef_t FAR *, int));long DIA_API YacGraph DIA_AL((long, int, long));
    int  DIA_API IncGraph DIA_AL((long, graphinc_t FAR *));
    int  DIA_API GetGraph DIA_AL((long, graphdef_t FAR *));
    int  DIA_API SetGraph DIA_AL((long, graphdef_t FAR *));
    int  DIA_API DelGraph DIA_AL((long));
    int  DIA_API NewGraph DIA_AL((long FAR *, graphnew_t FAR *));int  DIA_API VersionDia DIA_AL((void));
    int  DIA_API SupportDia DIA_AL((int));我现在想调用这里的
    int  DIA_API NewGraph DIA_AL((long FAR *, graphnew_t FAR *)); 怎么弄呀