Condividi tramite


/SECTION (Specifica attributi di sezione)

/SECTION:name,[[!]{DEKPRSW}][,ALIGN=#]

Note

L'opzione /SECTION consente di modificare gli attributi di una sezione, eseguendo l'override degli attributi impostati al momento della compilazione del file obj della sezione.

Una sezione di un file eseguibile portabile (PE, Portable Executable) equivale approssimativamente a un segmento o alle risorse di un file nuovo eseguibile (NE, New Executable). Le sezioni contengono codice o dati. A differenza dei segmenti, le sezioni sono blocchi di memoria contigua senza limiti di dimensione. Alcune sezioni contengono codice o dati dichiarati e utilizzati direttamente nel programma, mentre altre sezioni di dati vengono create automaticamente nel linker e in Library Manager (lib.exe) e contengono informazioni indispensabili per il sistema operativo. Per ulteriori informazioni sui file NE, vedere l'articolo della Knowledge Base "Executable-File Header Format" (Q65122). Gli articoli della Knowledge Base sono disponibili in MSDN Library o nel sito Web all'indirizzo https://support.microsoft.com (informazioni in lingua inglese).

Specificare i due punti (:) e un nome di sezione. Per il nome è necessario rispettare l'esatta combinazione di maiuscole e minuscole.

Non utilizzare i nomi che seguono, in quanto si verificherebbero conflitti con i nomi standard. sdata, ad esempio, viene utilizzato su piattaforme RISC.

  • .arch

  • .bss

  • .data

  • .edata

  • .idata

  • .pdata

  • .rdata

  • .reloc

  • .rsrc

  • .sbss

  • .sdata

  • .srdata

  • .text

  • .xdata

Specificare uno o più attributi per la sezione. In questi caratteri di attributo non viene effettuata la distinzione tra maiuscole e minuscole. È necessario specificare tutti gli attributi che si desidera includere nella sezione. Se si omette un carattere di attributo viene infatti disattivato il bit dell'attributo. Se non si specifica R, W o E, lo stato esistente di lettura, scrittura o di esecuzione resta immutato.

Per negare un attributo, anteporre un punto esclamativo (!) al corrispondente carattere. I significati dei caratteri di attributo sono indicati di seguito.

Carattere

Attribute

Significato

E

Execute

La sezione è eseguibile

R

Read

Consente operazioni di lettura sui dati

W

Write

Consente operazioni di scrittura sui dati

S

Shared

Condivide la sezione tra tutti i processi che caricano l'immagine

D

Discardable

Contrassegna la sezione come scaricabile

K

Cacheable

Contrassegna la sezione come non inseribile nella cache

P

Pageable

Contrassegna la sezione come non paginabile

La particolarità di K e P è che i flag di sezione a essi corrispondenti sono in senso negativo. Se si specifica uno di questi caratteri nella sezione text (/SECTION:.text,K), non ci sarà differenza nei flag di sezione quando si esegue DUMPBIN con l'opzione /HEADERS in quanto l'inserimento nella cache sarà già avvenuto implicitamente. Per rimuovere l'impostazione predefinita, specificare /SECTION:.text,!K e DUMPBIN rivelerà le caratteristiche della sezione, inclusa l'indicazione del mancato inserimento nella cache.

Una sezione del file PE in cui non è stato impostato l'attributo E, R o W è probabilmente non valida.

ALIGN*=#* consente di specificare un valore di allineamento per una determinata sezione. Per ulteriori informazioni, vedere /ALIGN.

Per impostare l'opzione del linker nell'ambiente di sviluppo di Visual Studio

  1. Aprire la finestra di dialogo Pagine delle proprietà del progetto. Per informazioni dettagliate, vedere Impostazione delle proprietà dei progetti Visual C++.

  2. Selezionare la cartella Linker.

  3. Fare clic sulla pagina delle proprietà Riga di comando.

  4. Digitare l'opzione nella casella Opzioni aggiuntive.

Per impostare l'opzione del linker a livello di codice

Vedere anche

Riferimenti

Impostazione delle opzioni del linker

Opzioni del linker