Incorporación de un modelo de propiedad de memoria similar al de Rust al lenguaje clásico C
PDF (inglés)
HTML (inglés)
DOI (inglés)

Palabras clave

Lenguaje C
Lenguaje Rust
Analizador estático

Cómo citar

Incorporación de un modelo de propiedad de memoria similar al de Rust al lenguaje clásico C. (2026). Revista Ceres, 2, 34-69. https://revistaceres.com/index.php/ceres/article/view/33

Resumen

El lenguaje de programación RUST se está convirtiendo en una alternativa interesante a C gracias a su modelo de propiedad de memoria, que permite escribir código más seguro sin un sistema de tiempo de ejecución ni un recolector de basura. Esto aumenta la estabilidad y la velocidad sin aumentar el tamaño del código ni el uso de la CPU. Desafortunadamente, al ser un lenguaje relativamente nuevo, obliga a los desarrolladores a aprenderlo y dominarlo antes de poder aprovechar al máximo estas capacidades. En este artículo presentamos un analizador estático de C que permite implementar algunas partes de ese mismo modelo de propiedad de memoria en código C estándar, lo que permite a los desarrolladores crear código más seguro (con menos fugas de memoria y volcados de memoria) sin tener que aprender un nuevo lenguaje ni añadir ningún tipo de código de tiempo de ejecución.

PDF (inglés)
HTML (inglés)
DOI (inglés)

Referencias

Matsakis, N. D. y Klock, F. S., II (2014). The rust language. Ada Lett., vol. 34, no. 3, pp. 103-104.

Mozilla Foundation. (s.f.). Mozilla foundation. https://foundation.mozilla.org

Rust Foundation. (s.f.). Rust foundation. https://rustfoundation.org

Anderson, B., Bergstrom, L., Herman, D., Matthews, J., McAllister, K., Goregaokar, M., Moffitt, J., y Sapin, S. (2015). Experience report: Developing the servo web browser engine using rust. CoRR, vol. abs/1505.07383. http://arxiv.org/abs/1505.07383

Redox Project. (s.f.). Redox project. https://www.redox-os.org/

Silicon Island Blog. (2016). Thoughts on DX: Gnome and rust. https://siliconislandblog.wordpress.com/2016/10/31/thoughts-on-dx-gnome-and-rust/

Mena, F. (s.f.). Federico mena section about rust. https://people.gnome.org/~federico/blog/tag/rust.html

De Icaza, M. (1997). Original mail from Miguel de Icaza about the Gnome project. https://mail.gnome.org/archives/gtk-list/1997-August/msg00123.html

GNOME Project. (s.f.). Vala - compiler using the GObject type system. https://wiki.gnome.org/Projects/Vala

GNOME Project. (s.f.). Vala's memory management explained. https://wiki.gnome.org/Projects/Vala/ReferenceHandling

Initial posts about librsvg's C to Rust conversion. (s.f.).

Thelin, J. (2007). Foundations of Qt Development. (J. Gilmore, Ed.). Apress.

GTK Project. (s.f.). GTK, the GIMP toolkit official website. https://www.gtk.org

Degener, J. (s.f.). ANSI C99 grammar, lex specification. http://www.quut.com/c/ANSI-C-grammar-l-1999.html

Degener, J. (s.f.). ANSI C99 grammar, yacc specification. http://www.quut.com/c/ANSI-C-grammar-y-1999.html

Dijkstra, E. W. (1968). Letters to the editor: Go to statement considered harmful. Commun. ACM, vol. 11, no. 3, pp. 147-148.

Linux Kernel Mailing List. (2003). Linux kernel mailing list discussion about gotos in linux source code. http://koblents.com/Ches/Links/Month-Mar-2013/20-Using-Goto-in-Linux-Kernel-Code/

Turing, A. M. (1937). On computable numbers, with an application to the entscheidungsproblem. Proceedings of the London Mathematical Society, vol. s2-42, no. 1, pp. 230-265.

Creative Commons License

Esta obra está bajo una licencia internacional Creative Commons Atribución-NoComercial-CompartirIgual 4.0.

Derechos de autor 2026 Revista Ceres