program ideone;
{$MODE Delphi}
{$POINTERMATH On}

function malloc(size: NativeUInt): Pointer; cdecl; external 'c';

// Use this
procedure free(ptr: Pointer); cdecl; external 'c';
var 
  px: PUint32;
  i: integer;
begin
	px := malloc(1000*SizeOf(UInt32));
	for i := 0 to 999 do
	  px[i] := i;
	for i := 0 to 999 do
	  WriteLn(px[i]);
	free(px);  
end.