首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Lua和Alien结构

Lua和Alien结构
EN

Stack Overflow用户
提问于 2009-12-27 20:09:59
回答 1查看 585关注 0票数 3

我试图用外星人0.50模块将这个C结构重新定义为Lua,但是在最后我有两个char数组。szLibraryPathszLibraryName最初都定义为

char szLibraryPath[MAX_PATH]在C中可以做到这一点的外星人?

代码语言:javascript
复制
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
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2009-12-27 20:41:16

看看“异形”作者的this answer吧。

您的结构应该如下所示:

代码语言:javascript
复制
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添加到所有偏移量。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1965824

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档