Memory allocation failed. Why?

MGW via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Sun Nov 20 19:58:00 PST 2016


On Sunday, 20 November 2016 at 18:58:04 UTC, Basile B. wrote:
> On Sunday, 20 November 2016 at 17:47:50 UTC, MGW wrote:
>> import core.sys.windows.windows: MessageBoxA;
>>
>> void test() {
>> 	for(int i; i != 10; i++) {
>> 		ubyte[] buf;
>> 		for(int j; j != 100000000; j++) buf ~= 65;
>> 		MessageBoxA(null, "--on for--".ptr, "".ptr, 0);
>> 		// delete buf; // if ON - then memory delete in step
>> 	}
>> 	MessageBoxA(null, "--off for--".ptr, "".ptr, 0);
>> }
>>
>> void main() {
>> 	test();
>> 	MessageBoxA(null, "--The end--".ptr, "".ptr, 0);
>> }
>>
>> ----------------
>> core.exception.OutOfMemoryError at src\core\exception.d(693): 
>> Memory allocation failed
>> ----------------

This short program doesn't work at Windows 32. Why GC doesn't 
release memory in case of its shortage in Windows! This is bug?


More information about the Digitalmars-d-learn mailing list