Strukturen machen Programm um 200kb größer?
-
Hallo,
mein Programm hat normal 16KB. Wenn ich jetzt aber 180 Struktur Arrays einbinde hat mein Programm ne größe von über 500KB.
Gibt es irgendein Befehl damit die Strukturen nicht so viel Speicher wegnemmen?
-
Strukturen via malloc dynamisch anlegen z.B.
-
Leider nicht möglich weil ich die Inhalte der Struktur im Programmcode definiere.
-
Und was sind das für Strukturen?
Du kannst schlecht erwarten, dass die keinen Speicherplatz wegnehmen...
-
Das ist mir klar das sie Speicherplatz benötigen aber doch nicht so viel
-.-typedef struct { char name[50]; char nachname[1024]; char plz[128]; char ort[256]; }daten;
-
Das sind pro Instanz ja schon mal 1.5 KB. Und wenn du 180 davon hast...
stattdessen ist es wohl sinnvoller, die Stringliteral-4er-Packs erst zur Laufzeit in die Strukturen zu kopieren oder sie aus einer Datei zu laden.
-
wo liegt das problem?
typedef struct { char *name; char *nachname; char *plz; char *ort; }daten; daten *new_daten(){ daten *ret = malloc(sizeof(daten)); ret->name = malloc(sizeof(char)*256); ret->nachname = malloc(sizeof(char)*256); ret->plz = malloc(sizeof(char)*6); ret->ort = malloc(sizeof(char)*256); return ret; } man kann das auch mit einem malloc machen falls einem der overhead zu groß ist aber das hab ich mir jetzt mal geschenkt, bedenke dass ne plz in [DE] nie über 5 stellen hat und auch namen und orte mit über 256 kenn ich nicht denk da tuns auch schon < 256 aber nun gut jeder nimmt da was er will:) lg lolo
-
verdammt der text sollte nicht in die cpp tags...
-
typedef struct { char name[50]; char nachname[1024]; char plz[128]; char ort[256]; }daten; daten *new_daten(){ return malloc(sizeof(daten)); }
evtl. so