JNAによるので、Javaコール

C ++:

FirstEliteValidate.h

#pragma

__cplusplusの#ifdef 
のextern  " C " {
 #endifの

    INT FirstEliteValidateTest()。

#ifdef __cplusplus 
} 
#endifの

FirstEliteValidate.cpp

#include FirstEliteValidate.h 

/ * 
    ライブラリをテストするために、アプリケーションのプロジェクトから「FirstEliteValidate.h」が含まれる
    とFirstEliteValidateTest()を呼び出します。
    
    Visual Studioでプロジェクトの依存関係にライブラリを追加することを忘れないでください。
* / 

静的な int型 s_Test = 0 ; 

INT FirstEliteValidateTest()
{ 
    戻り ++ s_Testと、
}

/ usr / libにコピーさそうにlibFirstEliteValidate.soという名前のファイルを、コンパイル

Javaの:

パッケージcom.bg.security。

輸入java.util.Properties; 

輸入com.sun.jna.Library;
輸入com.sun.jna.Native。

パブリック クラスProgram4Linux { 
    
    パブリック インターフェース CLibraryは延びライブラリ{
         INT FirstEliteValidateTest()。
    } 

    
    パブリック 静的 ボイドメイン(文字列[]引数)
    { 
        CLibrary LIB =(CLibrary)Native.load( "FirstEliteValidate"、CLibrary。クラス)。
        INT A = lib.FirstEliteValidateTest()。
        int型、B =lib.FirstEliteValidateTest();
        INT C = lib.FirstEliteValidateTest()。

        System.out.println( "A =" + A)。
        System.out.println( "B =" + B)。
        System.out.println( "C =" + C)。
        
        プロパティの小道具 = System.getProperties(); 
        System.out.println( "操作システム:" + props.getProperty( "os.name" )); 
        System.out.println( "システムバージョン:" + props.getProperty( "os.version" )); 
        System.out.println( "終了" ); 
    } 
}

 実行します。

Javaの-Djava.ext.dirs = /ホーム/ナイフ/ DemoCode /瓶com.bg.security.Program4Linux

 

おすすめ

転載: www.cnblogs.com/nanfei/p/11687620.html