AVR-GCC: free volatile pointer schlägt fehl

Gast #1933632
Lesenswert?

Hallo!

Ich habe einen volatile Pointer, der auf ein Struct zeigt (das mit dem 
Struct ist eigentlich egal). Ich weise dem Pointer mit malloc eine 
Adresse zu. Ich kann dann auch ganz normal mit dem Pointer arbeiten. 
Allerdings kann ich den Speicher nicht mehr mit free(meinPointer) 
freigeben.
Er meldet mir folgendes:
warning: passing argument 1 of 'free' discards qualifiers from pointer 
target type

Ich wüsste jetzt nichts, was dagegen spricht den Speicher eines volatile 
pointers freizugeben. Ich benutze die aktuelle AVR-GCC Version (ich 
glaub 4.3.3).

Weiß jemand, was ich falsch mache?

Vielen Dank!

MMGJ
Gast #1933656
Lesenswert?

Hast du vielleicht nicht den Pointer, sondern den struct mit volatile 
markiert? Das da kompiliert ohne Fehlermeldung:

char * volatile vcp = NULL;
void foo(){
     vcp = malloc(256);
     free(vcp);
}


Aber mit

volatile char *vcp = NULL;

gibts genau den von dir erwähnten Fehler.

Andreas

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren