0

ICU の UTF-8 Unicode 正規表現を利用するために、PCRE 正規表現から ICU 正規表現に変更することを検討しています。正しく機能しているように見える ICU UTF-8 正規表現をコンパイルして実行するために必要な ICU pnames.icu ファイルをロードするテスト プログラムを作成しました。ICU pnames.icu をユーザーに配布しないようにするために、pnames.icu の内容を Windows DLL グローバル変数に格納することはできますか? ありがとうございました。

4

1 に答える 1

1

アイコンを作成するのと同じ方法で、ファイルをリソース スクリプトに追加することから始めます。違いは、リソースを整数値ではなく名前で指定し、ファイルが「ICU」と呼ばれるカスタム リソース タイプであることをリソース コンパイラに伝えることです。

pname1      ICU     "pname1.icu"
pname2      ICU     "pname2.icu"
pname3      ICU     "pname3.icu"

リソースをロードするには、まず名前とタイプ (この場合は ICU) で検索する必要があります。見つかったら、Windows にリソース データをロードし、それを「ロック」してそのポインタを取得するように指示できます。

//  Find the resource
HRSRC hRes = FindResource(NULL, L"pname1", L"ICU");

//  Load the resource 
HGLOBAL hResLoad = LoadResource(NULL, hRes);

void* icuData = LockResource(hResLoad);

// ... do something with the resource @ icuData


//  We're done so let it go.
UnlockResource(icuData);
于 2012-06-11T22:07:41.050 に答える