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@src\core\exception.d(693):
Memory allocation failed
----------------
Simple program and error. Why? Windows 7 (32) dmd 2.072.0
For me there's no exception. Maybe the GC is poluted. Try to add
this after each iteration in the first test loop:
import core.memory: GC;
GC.collect();
Also note that the text you pas in the message box should be null
terminated, eg:
MessageBoxA(null, "--The end--\0".ptr, "".ptr, 0);