Algoritmos y Estructuras de Datos Herramientas Lenguaje de programación
!Prog C/C++ Rust
Linux Matemáticas
Mates Discretas
Programación Orientada a Objetos Sistemas Operativos

Documentación, Cargo y Crates


[words: 711] [reading time: 4min] [size: 17735 bytes]

Cargo

Paquetes:

1# Cargo.toml (por defecto)
2[profile.dev]
3opt-level = 0 # mínimo
4
5[profile.release]
6opt-level = 3 # máximo

Un workspace es una forma de agrupar muchos paquetes en el mismo proyecto. De esta manera lo tendremos mucho más ordenado.

Cada paquete tendrá su propia carpeta dentro del proyecto base, y estas tendrán su propio archivo Cargo.toml. En el proyecto base se referirá a sus otros crates de los que depende como miembros, dando su dirección. Un buen ejemplo de esto es gfx-rs.

Para publicar trabajar con un workspace:

Nota: Tienes que publicarlos en crates.io por separado.

1[workspace]
2members = [ "adder", "add_one" ]
3# Dentro de cada dirección debe haber un paquete válido
4
5# add_one Cargo.toml
6[dependencies]
7# add_one depende de adder
8adder = { path = "../adder" }

Documentación y reexportación

 1//! Esto es para documentar el archivo
 2
 3/// `markdown aquí`
 4/// ```
 5/// El código que añadamos funcionan como tests
 6/// ```
 7/// ```norun
 8/// Este código de aquí no se ejecuta
 9/// ```
10/// Seciones importantes: ejemplos / panic / error / unsafe
11
12// Rexportación: prevenimos de que el usuario tenga que escribir toda la dirección
13pub use direction;

Algunos crates interesantes

Funcionalidades

CLI

Audio

Gráficos y GPU

Game engines

Volver a Rust Siguiente: Memoria