次のようにLocalAllocを呼び出すWindowsで動作するコードがあります。
LocalAlloc(LMEM_ZEROINIT, size)
これをUnixシステムでMonoを介して機能させるには、同等のmallocまたはcalloc呼び出しが必要です。簡単な答え?
次のようにLocalAllocを呼び出すWindowsで動作するコードがあります。
LocalAlloc(LMEM_ZEROINIT, size)
これをUnixシステムでMonoを介して機能させるには、同等のmallocまたはcalloc呼び出しが必要です。簡単な答え?
私が理解していることから、それはゼロ化されたメモリを割り当てるだけなので、ゼロ化されたバイトcalloc(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);
}