gpt4 book ai didi

c - 如何在 C 源代码中存储 C 可执行二进制文件?

转载 作者:行者123 更新时间:2023-11-30 14:48:51 25 4
gpt4 key购买 nike

我需要将我的一个 C 程序的二进制代码添加到另一个 C 程序的二进制代码中。我该怎么做?我需要在我的 c 源代码中添加二进制内容。并使用该 c 源将该二进制内容附加到现有的二进制文件中。

最佳答案

在类 Unix 系统(包括 Linux)上,您可以使用 xxd :

xxd -i 程序

这会生成一个头文件,其中文件内容为字符数组,并将其嵌入到您的程序中。

在 Windows 上,您可以将程序作为资源嵌入。在您的 .rc 中,使用 200 作为资源 ID:

200 RDCDATA“program.exe”

然后在你的程序中:

HANDLE resinfo = FindResource(instance, MAKEINTRESOURCE(200), RT_RCDATA);
HANDLE reshandle = LoadResource(instance, resinfo);
void *data = LockResource(reshandle);
DWORD datasz = SizeOfResource(instance, resinfo);

无论哪种情况,您都需要将文件写到某个位置才能运行它。不要忘记在 Unix 上设置可执行位。

关于c - 如何在 C 源代码中存储 C 可执行二进制文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50128579/

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