我有在 Windows 上工作的代码,它调用LocalAlloc如下:
LocalAlloc(LMEM_ZEROINIT, size)
我需要等效的 malloc 或 calloc 调用才能通过 Mono 使其在 Unix 系统上工作。简单的答案?
我有在 Windows 上工作的代码,它调用LocalAlloc如下:
LocalAlloc(LMEM_ZEROINIT, size)
我需要等效的 malloc 或 calloc 调用才能通过 Mono 使其在 Unix 系统上工作。简单的答案?
据我了解,它只是分配归零的内存,因此 acalloc(1, size)
应该足以分配size
归零的字节。
我认为 LocalAlloc 已被弃用以支持 HeapAlloc?
无论哪种方式 calloc()、malloc() 和 realloc()、free() 都是用于内存管理的 POSIX 选择。
你总是检查返回值:
char *retval=calloc(1, sizeof(object type) );
if(retval==NULL)
{
perror("Memory error");
exit(EXIT_FAILURE);
}