GNU/Linux >> Linux Esercitazione >  >> Linux

Perché l'intestazione del programma è eseguibile?

Il PHDR che punta ai PHDR dice al caricatore che i PHDR stessi dovrebbero essere mappati allo spazio degli indirizzi del processo, in modo da renderli accessibili al programma stesso.

Questo è utile principalmente per il collegamento dinamico.

Il motivo per cui la memoria è contrassegnata come eseguibile è perché i PHDR sono più piccoli di una pagina e vivono proprio accanto all'inizio del codice eseguibile. Se i permessi per i PHDR fossero diversi da quelli del testo del programma, il linker dovrebbe inserire un riempimento tra di loro.


Linux
  1. gdb sembra ignorare le capacità eseguibili

  2. Dov'è il file di intestazione <conio.h> su Linux? Perché non riesco a trovare <conio.h>?

  3. Perché è necessario il segmento .bss?

  4. Perché una cartella deve essere eseguibile?

  5. Perché non riesco a scorrere nel terminale?

Programma hardware dalla riga di comando di Linux

Come funziona il programma ping in Linux

Perché Cd non è un programma?

Elencare i file a cui si accede da un programma?

Perché il meccanismo di creazione del processo predefinito è fork?

Viaggio di un programma C verso un eseguibile Linux in 4 fasi