gpt4 book ai didi

Lua 和 Alien 结构

转载 作者:行者123 更新时间:2023-12-04 19:06:20 27 4
gpt4 key购买 nike

我正在尝试使用 alien 0.50 模块将此 C 结构重新定义为 Lua,但最后我有两个 char 数组。 szLibraryPathszLibraryName 最初定义为
char szLibraryPath[MAX_PATH] 在 C 中。这可以用 alien 完成吗?

LIBRARY_ITEM_DATA = alien.defstruct{
{ "hFile", "long" },
{ "BaseOfDll", "long" },
{ "hFileMapping", "long" },
{ "hFileMappingView", "long" },
{ "szLibraryPath", "byte" }, -- fix to MAX_PATH
{ "szLibraryName", "byte" } -- fix to MAX_PATH
}

最佳答案

看看this answer由外星人的作者。

你的结构应该是这样的:

LIBRARY_ITEM_DATA = alien.defstruct{
{ "hFile", "long" },
{ "BaseOfDll", "long" },
{ "hFileMapping", "long" },
{ "hFileMappingView", "long" },
{ "additionalFields", "char" }
}
LIBRARY_ITEM_DATA.size = LIBRARY_ITEM_DATA.size + 2*MAX_PATH - 1

您可以通过手动读取/写入结构末尾的字节来获取/设置数组(使用链接中的代码)。要访问第二个数组,请将 MAX_PATH 添加到所有偏移量。

关于Lua 和 Alien 结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1965824/

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