Wieso knallt dies nicht / C und FPC / malloc und free Gemisch

Für Fragen zur Programmiersprache auf welcher Lazarus aufbaut
Antworten
Mathias
Beiträge: 7374
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Wieso knallt dies nicht / C und FPC / malloc und free Gemisch

Beitrag von Mathias »

Wieso knallt dies bei FreeMem nicht, es müsste eigentlich schon beim ersten FreeMem knallen, tut es aber nicht.
Wieso ist das so ?

Code: Alles auswählen

program project1;

const
  libc = 'c';

  procedure free(p: pointer); cdecl; external libc;
  function malloc(size: SizeUInt): pointer; cdecl; external libc;

var
  p: Pointer;

begin
  p := malloc(1024);

  Freemem(p);
  Freemem(p);
  Freemem(p);
end.          
Mit Lazarus sehe ich grün
Mit Java, Python und C++ sehe ich rot

Antworten