Posix 相当于 LocalAlloc(LMEM_ZEROINIT, size)

发布于 2024-09-04 19:34:34 字数 273 浏览 7 评论 0原文

我有适用于 Windows 的代码,调用 LocalAlloc 如下:

LocalAlloc(LMEM_ZEROINIT, size)

我需要等效的 malloc 或 calloc 调用才能通过 Mono 在 Unix 系统上工作。简单的回答?

I have code which works on windows, that calls LocalAlloc as follows:

LocalAlloc(LMEM_ZEROINIT, size)

I need the equivalent malloc or calloc call to get this to work on Unix systems, through Mono. Simple answer?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

追我者格杀勿论 2024-09-11 19:34:35

据我了解,它只是分配归零内存,因此 calloc(1, size) 应该足以分配 size 归零字节。

From what I understand it just allocs zeroed memory, so a calloc(1, size) should suffice to allocate size zeroed bytes.

回首观望 2024-09-11 19:34:35

我认为 LocalAlloc 已被弃用,取而代之的是 HeapAlloc?

无论哪种方式,calloc()、malloc() 和 realloc()、free() 都是内存管理的 POSIX 选择。

您总是检查返回值:

char *retval=calloc(1, sizeof(object type) );
if(retval==NULL)
{
   perror("Memory error");
   exit(EXIT_FAILURE);
}

I thought LocalAlloc was deprecated in favor of HeapAlloc?

Either way calloc(), malloc() and realloc(), free() are the POSIX choices for memory management.

You always check the return value:

char *retval=calloc(1, sizeof(object type) );
if(retval==NULL)
{
   perror("Memory error");
   exit(EXIT_FAILURE);
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文