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, strlen(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 サイトの他の関連記事を参照してください。

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

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

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

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

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

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

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

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


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

Dreamweaver Mac版
ビジュアル Web 開発ツール

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
Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

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