Es gibt viele mögliche Anwendungen [Bearbeiten Notiz hinzufügen: diese ist nur ein Beispiel von Verwendungen, die ich selbst gesehen oder in Betracht gezogen habe, keine vollständige Liste.]
Der Linux-Kernel zum Beispiel markiert einige Code- und Datenabschnitte ns wird nur während des Kernel-Bootstraps verwendet. Diese können nach der Ausführung des Kerns abgeworfen werden und den Speicherplatz für andere Zwecke zurückfordern.
Sie können damit Code- oder Datenwerte markieren, die auf einer bestimmten Prozessorvariante, z. B. mit oder ohne Coprozessor, gepatcht werden müssen.
Sie können es verwenden, um Dinge in "speziellen" Adressräumen zu leben, die in PROM gebrannt oder in einem EEPROM gespeichert werden, anstatt im normalen Speicher.
Sie können damit Code- oder Datenbereiche für Zwecke wie Initialisierung und Bereinigung zusammenfassen, wie mit C++ - Konstruktoren und -Destruktoren, die vor dem Programmstart und zum Ende ausgeführt werden, oder zur Verwendung kürzerer Adressierungsmodi (nicht wissen, wie viel das auf ARM zutreffen würde, da ich selbst keinen ARM-Code geschrieben habe).
Die tatsächliche Verwendung hängt von den Linker-Skripten ab.
Es ist, weil das die Plattform des Codes ist, an dem ich arbeite. Ich bin mir bewusst, dass dieses Attribut nur auf bestimmten Plattformen verfügbar ist, daher wollte ich es zur besseren Übersicht hinzufügen. Ich versuche zu verstehen, was die Absicht des Codierers ist, wenn er bestimmte Objekte in Testobjekte, Verfolgungsobjekten usw. ausschneidet. – tll
Ich entfernte den ARM-Abschnitt, so dass es klarer ist, dass ich mich nicht nur um ARM kümmere. – tll