検索
ホームページコンピューターのチュートリアルコンピュータ知識JAVAから呼び出されるDLLを記述するVC実装方法

JAVAから呼び出されるDLLを記述するVC実装方法

VC を使用して JAVA 呼び出し用の DLL を作成する方法

}(2) Java ファイルをコンパイルし、コンパイルしてヘッダー ファイルを生成します (vc 用) javac GB2PY.java //コンパイルしてクラスを生成します(3) 現在のフォルダーに com/bw/gb2py フォルダーを作成します、 GB2PY .class をフォルダーに追加し、現在のフォルダーに戻り、javah コマンドを呼び出してヘッダー ファイルを生成します。 javah com.bw.gb2py.GB2PY //ヘッダー ファイルを生成します。ファイル名は com_bw_gb2py_GB2PY.h です。ヘッダー ファイルの内容は変更できません。変更しないと、生成された DLL は使用できません。 (4) Win32 DLL を新規作成します。 VC に GB2PY という名前のプロジェクトを作成し、com_bw_gb2py_GB2PY.h をプロジェクト ディレクトリにコピーし、プロジェクトに追加します。次に、%JAVA_HOME%/include/jni.h および %JAVA_HOME%/include/win32/jni_md.h をプロジェクト ディレクトリにコピーし、プロジェクトに追加します。 (5) com_bw_gb2py_GB2PY.h で宣言されたメソッド Java_com_bw_gb2py_GB2PY_GetPY を実装します。 c での Java 文字列と文字の変換に注意してください。 Java の文字列は Unicode (2 バイト) でエンコードされますが、char は 1 バイトです。 int (*GetPY)(char* szGBString,PY &oPY);JNIEXPORT jstring JNICALL Java_com_bw_gb2py_GB2PY_GetPY

(JNIEnv * env, jclass, jstring name){static HMODULE hModle = LoadLibrary("PYconvert.dll"); //サードパーティ DLL

GetPY = (LPFUN)GetProcAddress(hModle,"GBToPY");int len;char charName[128];

char charPY[512];

len = env->GetStringLength(name) * 2 1; //全角長を半角長に変換し、1を加算するとターミネータが追加されます

memset(charName, 0, len);

const wchar_t * w_buffer = env->GetStringChars(name, 0);

int wlen = wcslen(w_buffer);

len = WideCharToMultiByte(CP_ACP, 0, w_buffer, wcslen(w_buffer) 1, charName, len, NULL, NULL);

env->ReleaseStringChars(name, w_buffer); //上記のコードは、java 文字列 name の内容を char 配列 charName にコピーします... //一部の関数コードを省略し、サードパーティ DLL を呼び出して中国語の文字を変換します関数はピンインで、charPY 配列に格納されます。 int slen = strlen(charPY);

jchar * バッファ = 新しい jchar[slen];

len = MultiByteTowideChar(CP_ACP, 0, charPY, s​​trlen(charPY), バッファ, slen);

if (レン > 0 & レン

buffer[len] = 0; //上記のコードはchar型文字列をjchar型文字列に変換します jstring js = env->NewString(buffer, len);

delete []buffer;return js;}(6) Java で呼び出すことができる dll ファイルをコンパイルして生成します (2 番目のステップで生成されたクラスを使用する必要があります)。 :)

VC で作成した EXE ファイルの DLL ファイルを作成し、この EXE から DLL を呼び出す方法

dll の書き方のことですか? 、または作成した DLL を呼び出すにはどうすればよいですか?

dll:vc 6.0 の書き方。新しいプロジェクトを作成するときは、通常、次のいずれかを選択します。

MFC AppWizard[dll]は、MFC フレームワークのダイナミック リンク ライブラリを使用できます

Win32 ダイナミックリンク ライブラリ window32 ビット標準ダイナミック ライブラリ

あとは必要なフレームワークを選択して完了です 基本的なdllはこんな感じです。

vs2003 以降 (vs2010 は使用していないので説明しません) を使用している場合は、新しい

を作成します。

次の 2 つのタイプはプロジェクトでよく使用されます:

MFC->MFC DL

Win32->いずれか->ポップアップ ダイアログ ボックスで Dll オプションを選択します

その他のオプションはニーズに応じて異なります。それが完了し、基本的な DLL の準備が整います。

作成した DLL を呼び出します: LoadLibrary("xxx.dll");

を呼び出す必要がある場所で使用します。

xxx.dll はあなたが書いた DLL であり、xxx.dll に

を書いた場合

インターフェイスの場合、次のメソッドを使用して dll 内のメソッドを呼び出すことができます:

1. DLL のインターフェイス ヘッダー ファイルを exe プロジェクトに含めます。たとえば、インターフェイス関数は void FunName(int a);

です。

2. typedef void(*Func)(int); //インターフェイスを定義します

3. 必要な場合に使用します:

......................................

HMOUDLE hMyDll = LoadLibrary("xxx.dll");

if (hMyDll != NULL)

{

Func *pDllFun=(Func *)::GetProcAddress(hMyDll,"FunName");//FunName は Dll のインターフェイス関数です

if (pDllFun != NULL)

{

pDllFun(1); //Dllの関数を呼び出します

}

}

4. DLL が不要になったらアンインストールします。 FreeLibrary(hMyDll);

///////////////////////////////////////////// //// ///////

DLL は、exe が存在するディレクトリに生成されましたか?

以上がJAVAから呼び出されるDLLを記述するVC実装方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事はExcel办公网で複製されています。侵害がある場合は、admin@php.cn までご連絡ください。
SecureBootencodeuefi.exe Trojanを削除するにはどうすればよいですか?SecureBootencodeuefi.exe Trojanを削除するにはどうすればよいですか?Apr 13, 2025 am 12:50 AM

Windows 11/10ユーザーの中には、BitDefenderの更新直後にCMDウィンドウが開いており、SecureBootencodeuefi.exeが実行されていると報告している人もいます。 PHP.CNからのこの投稿では、SecureBotencodeuefi.exe Trojanを削除する方法について紹介します。

修正:sysdll_win64_retail.dllの欠落または発見されていないエラー-Minitool修正:sysdll_win64_retail.dllの欠落または発見されていないエラー-MinitoolApr 13, 2025 am 12:48 AM

sysdll_win64_retail.dllは、FIFA 17アプリケーションに関連する動的リンクライブラリ(DLL)ファイルです。そのファイルが見逃されたり破損したりすると、そのアプリケーションについて一連の問題とエラーが発生します。この問題を解決するために、この芸術を読むことができます

コア分離はew_usbccgpfilter.sysによってブロックされていますか?ここに修正があります!コア分離はew_usbccgpfilter.sysによってブロックされていますか?ここに修正があります!Apr 13, 2025 am 12:47 AM

多くのSurfaceBookユーザーは、Windows 11/10の「ew_usbccgpfilter.sys」の問題を満たしていると報告しています。 PHP.CNからのこの投稿は、迷惑な問題を修正するのに役立ちます。あなたの読書を続けてください。

Ctrl alt del画面からオプションを削除する方法は?Ctrl alt del画面からオプションを削除する方法は?Apr 13, 2025 am 12:46 AM

コンピューターでctrl alt delを押すと、[セキュリティオプション]ウィンドウを入力します。ここでは、ロックが表示され、ユーザーの切り替え、オプションのサインアウトが表示されます。これらのオプションを変更できることをご存知ですか?このphp.cn投稿では、optを削除する方法を示します

ウイルスを除去する方法:win32/grenam.va!msr?これがガイドです!ウイルスを除去する方法:win32/grenam.va!msr?これがガイドです!Apr 13, 2025 am 12:45 AM

一部のWindows 11/10ユーザーは、Windowsのディフェンダーがウイルスというウイルスを発見したことを報告しています:win32/grenam.va!msr。しかし、彼らはそれを削除する方法を知りません。 PHP.CNからのこの投稿では、ウイルスを除去する方法を教えてください:Win32/grenam.va!msr。

デスクトップアプリとしてWebサイトを保存する方法は?デスクトップアプリとしてWebサイトを保存する方法は?Apr 13, 2025 am 12:44 AM

頻繁にウェブサイトにアクセスする必要がある場合は、ブラウザを開いて毎回検索するのは非常に面倒です。アプリとしてウェブサイトを保存しようとしないのはなぜですか?これを行うと、通常のソフトウェアとして開くことができます。ここでは、PHP.CNがいくつかのusefuを提供します

Windowsアップデートエラーを修正するための完全なガイド0x00000000Windowsアップデートエラーを修正するための完全なガイド0x00000000Apr 13, 2025 am 12:43 AM

一部の人々は、最新のWindowsアップデートをインストールしたときに、Windows 11でエラーコード0x00000000に遭遇しました。この予期しないエラーに対処するにはどうすればよいですか? PHP.CN Webサイトのこの記事では、トラブルシューティングの手がかりを提供します。

このアプリでサポートされていない選択されたFileTypeを修正する方法このアプリでサポートされていない選択されたFileTypeを修正する方法Apr 13, 2025 am 12:41 AM

チームまたはExcelでファイルを開くときに、エラーメッセージ「このアプリでサポートされていないFiletype」に苦しんでいますか?この問題をいくつかの有用なソリューションを取得するには、PHP.CNからこの投稿を読んでください。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

Dreamweaver Mac版

Dreamweaver Mac版

ビジュアル Web 開発ツール

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター

PhpStorm Mac バージョン

PhpStorm Mac バージョン

最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール