ci sono molti usi possibili [Modifica per aggiungere nota: questo è solo un esempio di usi che ho visto o considerato, non un elenco completo.]
Il kernel di Linux, ad esempio, segna un po 'di dati e codice sectio ns usato solo durante il bootstrap del kernel. Questi possono essere rilasciati dopo che il kernel è in esecuzione, recuperando lo spazio per altri usi.
È possibile utilizzare questo per contrassegnare il codice oi valori di dati che richiedono il patch su una particolare variante di processore, ad esempio con o senza un coprocessore.
Puoi usarlo per far vivere le cose in spazi di indirizzi "speciali" che verranno masterizzati su PROM o salvati su una EEPROM, piuttosto che nella memoria ordinaria.
È possibile utilizzarlo per raccogliere insieme codice o aree di dati per scopi come l'inizializzazione e la pulizia, come con costruttori e distruttori C++ che vengono eseguiti prima dell'avvio del programma e quando finisce, o per l'utilizzo di modalità di indirizzamento più brevi (io no sapere quanto questo si applicherebbe su ARM poiché non ho scritto alcun codice ARM da solo).
L'utilizzo effettivo dipende dagli script del linker.
È perché questa è la piattaforma del codice su cui sto lavorando. Sono consapevole del fatto che questo ____attribute____ è disponibile solo su determinate piattaforme, quindi ho voluto includerlo per chiarezza. Sto cercando di capire qual è l'intenzione del programmatore quando ha eliminato alcuni oggetti in oggetti di prova, tracciare oggetti, ecc. – tll
Ho rimosso la sezione ARM in modo che sia più chiaro che non sono interessato a ARM in modo specifico, ma solo all'utilizzo. – tll