【发布时间】:2016-03-19 12:25:42
【问题描述】:
基本上我是在 Mac 上编程,但我使用的源代码来自学校的一个小组,其中包含“windows.h”。
我做了一些研究,显然 OSX 没有该文件的副本。
我在这里的一个线程上看到了一个答案,它说可以制作一个“虚拟”windows.h 文件,然后插入我需要的任何#includes 或函数原型。为此,我刚刚上网并从一些 Microsoft 目录中获得了我需要的功能。
我继续这样做,一切正常,直到 ZeroMemory 函数给我错误。
所以,在我的虚拟“windows.h”文件中:
void ZeroMemory([in] PVOID Destination,[in] SIZE_T Length);
我收到以下错误:
Expected parameter declarator
Use of undeclared identifier 'in'
Expected ')'
现在,我用谷歌搜索了这个函数及其错误,我一直在寻找一堆只有这行代码的代码,这并没有太大帮助。
我需要知道的是我从这里去哪里?通过创建这个“虚拟” windows.h 文件,我做对了吗?还是有其他方法可以使用 windows.h?
我找到使用虚拟 windows.h 文件的答案的链接是here。
感谢您的所有意见,所以如果您有任何想法,请把它扔掉!非常感谢大家!
根据cmets修改部分代码后:
void ZeroMemory(PVOID Destination, SIZE_T Length);
我收到以下错误:
Unknown type name PVOID
Unknown type name SIZE_T
我在想可能缺少一些定义,但这些是 TYPE 名称,所以它们一定来自类似 Struct 之类的东西?如果我错了请纠正我? :D
【问题讨论】:
-
我认为您使用的语法是错误的。您应该使用
PVOID Destination[in]声明它。 -
我相信
[in]是一个文档注释告诉你它是一个输入参数。它不应该是实际代码的一部分。只需将其删除。 -
我会在完成抓取执行后尝试!哈哈,谢谢。
-
谢谢 Kaylum 和 AmeyCU。我将删除“in”并将它们保留为 [] 括号。我会及时通知你粉丝们的最新情况!
-
不,
[]也是文档注释的一部分。也删除那些。只需void ZeroMemory(PVOID Destination, SIZE_T Length);
标签: c windows macos dummy-data