0

我们正在考虑从 PCRE 正则表达式更改为 ICU 正则表达式,以利用 ICU 的 UTF-8 Unicode 正则表达式。我们编写了一个测试程序来加载 ICU pnames.icu 文件,该文件是编译和执行看似正常运行的 ICU UTF-8 正则表达式所必需的。是否可以将 pnames.icu 的内容存储在 Windows DLL 全局变量中以避免将 ICU pnames.icu 发送给用户?谢谢你。

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 回答