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