Skip to content
Latchkey

O que é código independente de posição (PIC)?

Código independente de posição é código de máquina que executa corretamente não importa onde na memória seja colocado, porque referencia endereços de forma relativa ao contador de programa ou por meio de tabelas de indireção. Ele evita endereços absolutos codificados que quebrariam quando o local de carga mudasse. Bibliotecas compartilhadas são normalmente compiladas dessa forma para poderem ser mapeadas em qualquer endereço.

Por que isso importa

O PIC é o que permite que uma mesma biblioteca compartilhada seja carregada em endereços diferentes em processos diferentes e sustenta a randomização do layout do espaço de endereçamento. Sem ele, bibliotecas não poderiam ser relocadas livremente no momento da carga.

Guias relacionados