O Que É Static Linking?
O static linking copia o código das bibliotecas necessárias para dentro do executável em tempo de build, de modo que o binário resultante contém tudo o que precisa para rodar. Não há dependência de que essas bibliotecas estejam presentes no sistema target. Isso produz artifacts maiores, mas totalmente autocontidos e fáceis de fazer deploy.
Por que isso importa
Um binário com static linking roda em um sistema mínimo ou básico, como uma imagem de container distroless ou scratch, sem instalar bibliotecas compartilhadas, o que simplifica o deploy e evita incompatibilidades de versão de dependências. As contrapartidas são binários maiores e a necessidade de rebuild para incorporar uma correção de segurança de biblioteca.
Conceitos relacionados
- Oposto de dynamic linking
- Habilita imagens de container mínimas e distroless
- Correções de biblioteca exigem um rebuild, não apenas uma atualização
Guias relacionados
What Is Dynamic Linking?Dynamic linking resolves a program's library dependencies at load time from shared libraries on the system, r…
What Is a Distroless Image?A distroless image contains only your application and its runtime dependencies, with no shell, package manage…
What Is a Target Triple?A target triple is a string like x86_64-unknown-linux-gnu that identifies the architecture, vendor, OS, and A…