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

Palabras clave

Lenguaje C
Lenguaje Rust
Analizador estático

Cómo citar

Costas Rodríguez, S. (2026). Incorporación de un modelo de propiedad de memoria similar al de Rust al lenguaje clásico C. Revista Ceres, (2), 34–69. Recuperado a partir de 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 (English)
HTML (English)
DOI (English)

Citas

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