Programar en C con Garbage Collection


De los 20 lenguajes mejor ubicados en el índice TIOBE, 14 tienen alguna forma de “Garbage Collection“. Esos 14 lenguajes representan más de un 47% de peso en el índice. Los únicos lenguajes “importantes” que no tienen recolección automática de basura son C, C++ y Objective-C (Delphi, Pascal y Ada son minoritarios).

El caso de Objective-C es especial ya que desde la versión 2.0 tiene un garbage collector, pero es opcional y no está en la versión que se usa para desarrollar aplicaciones para el iPhone.

En C y C++ se puede usar el garbage collector de Boehm-Demers-Weiser. Básicamente en lugar de llamar a malloc, llamas a GC_MALLOC y los llamados a GC_FREE son opcionales.

En Ubuntu, debemos instalar libgc

 sudo apt-get install libgc-dev libgc1c2

y al compilar debemos usar la opción -lgc para indicarle al linker que use libgc.

gcc -std=c99 -Wall  -o programa *.c -lgc

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s