gpt4 book ai didi

c - 以编程方式生成 C Win32 DLL

转载 作者:太空狗 更新时间:2023-10-29 15:53:47 27 4
gpt4 key购买 nike

我需要反复生成一个带有注册信息功能的Win32 DLL。此函数使用文字返回客户特定的注册信息,并为每个客户构建一个单独的 DLL。

我有一个正常工作的测试版本,其中包含一位客户的硬编码信息。某些站点的紧迫性要求我手动生成一些 DLL,但我想为客户提供一个动态发出 C 源代码并按需构建 DLL 的应用程序。

最好的方法是什么?我有 VS 2008 C++ Express,因此有 cl.exe 编译器。我目前的方法只是让 C# 应用程序为 C 源代码提供一个字符串常量,并在生成之前用所需参数替换其中的标记,然后通过脱壳并运行 cl.exe 来构建和链接。

最佳答案

将所有客户信息作为字符串资源放在.rc 文件中。将相应的 .res 文件链接到您的 DLL 中。 DLL 中依赖于该客户信息的所有代码都将调用 LoadString 来获取此信息。

然后构建一个名为“UpdateDLL.exe”的单独程序(或函数),它使用 Win32 API:BeginUpdateResource、UpdateResource 等...以使用新信息更新 DLL。

运送以下元素:

  1. 一个预编译的 DLL,其中包含用于资源中客户信息的空(或默认)字符串。

  2. 您的 UpdateDLL.exe 工具将 DLL 名称和客户信息文件作为命令行参数。

  3. 您的客户运行“UpdateDLL.exe customer.dll myinfo.txt”以使用他的信息更新他的 DLL 副本。

关于c - 以编程方式生成 C Win32 DLL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/842941/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com