Rustonomicon
180 páginas
Portuguese
PDF
4.5

Rustonomicon

Rustonomicon

Autor:

Ano:

Resumo:

Introdução

The Rustonomicon (em tradução livre — "Rustonomicon") não é apenas um livro, mas sim um grimório, uma coleção de conhecimentos sombrios sobre a linguagem de programação Rust. Se você já domina os fundamentos do Rust e sente forças para olhar nos bastidores das rígidas garantias de segurança, este livro será seu guia para o mundo do código unsafe, ponteiros brutos, FFI (Foreign Function Interface) e outras ferramentas perigosas, porém necessárias. Escrito por um conjunto de autores (Various Authors) e mantido pela comunidade, ele representa o guia oficial sobre Rust inseguro, disponível gratuitamente na versão online. A edição impressa de 2022, com 180 páginas, é um guia compacto, mas denso, para quem deseja entender como o Rust funciona "por baixo dos panos" e como contornar seus mecanismos de proteção quando realmente necessário.

Sobre o que é o livro

O livro é dedicado exclusivamente ao subconjunto unsafe do Rust. Ele não ensina os fundamentos da sintaxe ou código idiomático — pressupõe-se que o leitor já escreva com confiança em Rust seguro. Os principais tópicos são:

  • Ponteiros brutos (*const T e *mut T): criação, desreferenciação, aritmética de ponteiros.
  • Funções e traits inseguros: declaração e chamada de unsafe fn, implementação de unsafe trait.
  • FFI (Foreign Function Interface): chamada de funções C a partir do Rust, exportação de funções Rust para C, trabalho com blocos extern.
  • Gerenciamento de memória: gerenciamento manual de memória, alocadores, criação de smart pointers próprios.
  • Representação de dados: alinhamento, tamanhos de tipos, layouts de structs e enums, atributos #[repr(...)].
  • Comportamento indefinido (UB): o que pode e não pode ser feito em código unsafe, como evitar UB.
  • Operações atômicas e barreiras de memória: sincronização de baixo nível.
  • Inserção de assembly: macro asm! para código dependente de plataforma.

Para quem é este livro

The Rustonomicon é destinado a desenvolvedores experientes em Rust que já têm experiência em escrever código seguro e desejam se aprofundar em programação de sistemas. Será útil para:

  • Desenvolvedores que criam bibliotecas com FFI (por exemplo, wrappers para bibliotecas C/C++).
  • Engenheiros que trabalham com sistemas operacionais, drivers ou sistemas embarcados.
  • Aqueles que desejam implementar suas próprias estruturas de dados com gerenciamento manual de memória (por exemplo, um Vec ou HashMap próprio).
  • Desenvolvedores de motores de jogos e aplicações de alto desempenho, onde cada microssegundo é crítico.
  • Todos que desejam realmente entender como o Rust funciona no nível do código de máquina.

O que o leitor aprenderá

Ao ler o livro, você será capaz de:

  • Usar com confiança ponteiros brutos e entender a diferença entre referências e ponteiros.
  • Escrever wrappers seguros sobre código inseguro, sem vazamentos de memória ou UB.
  • Interagir com bibliotecas C via FFI, transmitindo estruturas de dados complexas.
  • Criar alocadores próprios e gerenciar memória manualmente.
  • Entender layouts de dados na memória, alinhamento e tamanhos de tipos.
  • Usar operações atômicas para programação lock-free.
  • Evitar comportamento indefinido e escrever código unsafe correto.
  • Inserir código assembly para otimizações dependentes de plataforma.

Pontos fortes

O livro possui várias vantagens inegáveis: