07/04/01 00:54:39
>>344>>346
Win32では、基本的にリニアアドレス空間の半分をシステムが持っているので、
実際にユーザが使えるのは理論上2^31Byte、つまり2GiB。
ただしNT系ではリンク時の/LARGEADDRESSAWAREと
boot.iniの/3GBオプションにより、3GiBまで広がる。
/LARGEADDRESSAWARE付けた32ビットEXEをWin64で動かしたら4GiBまでいけるという話もある。
実際にはそこからEXE/DLL、つまりコードやリソース、
それにスタックなどの分も差し引かれるのでもう少し減る。
勿論空き仮想メモリの量が実際的な上限。
ところで1度に1MiB以上の確保するときにはVirtualAllocが推奨されている。
URLリンク(msdn.microsoft.com)
URLリンク(msdn.microsoft.com)