7 Stimmen

Freigeben von statischem Speicher? nein, das kann nicht richtig sein

Ich habe mit dem Einbetten von Ressourcen in mein C++-Programm herumgespielt. Um dies zu tun, hexdump ich die Daten in ein einfaches Array, d.h.

unsigned char image_png[] ={
    0x0a, 0x0b, 0x0c, 0x0d, ...
};

Einige dieser Ressourcen werden nach dem Laden nicht verwendet (d.h. sie werden in etwas anderes umgewandelt und die ursprünglichen Daten sind dann nur noch Bulk... obwohl ein kleines bisschen Bulk für die Einfachheit der Verteilung es wert sein könnte).

Ich bin neugierig, ob es eine Möglichkeit gibt, die Ressource in das Programm einzubetten, so dass ich mich nicht darum kümmern muss, dass das Binärprogramm in der Lage ist, alle seine wichtigsten Ressourcen zu finden, aber dann geben Sie es frei, nachdem es getan wird verwendet, so dass der Laufzeit-Speicher-Footprint weniger von einem Hit nimmt.

Ist das möglich? Wenn es möglich ist, ist es eine dumme Sache zu versuchen, zu tun? Vielleicht behält das Betriebssystem ohnehin das gesamte Programm-Image im Speicher (ich bin mir nicht sicher, wie das genau funktioniert).

bearbeiten: Um Kommentare zu beantworten, ich arbeite unter Linux (Ubuntu 10.04), aber wenn es plattformübergreifende Lösungen gibt, würde ich sie gerne hören

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X