close
Warning:
Can't synchronize with repository "(default)" (/var/svn/tolp does not appear to be a Subversion repository.). Look in the Trac log for more information.
- Timestamp:
-
Feb 3, 2011, 10:47:20 AM (14 years ago)
- Author:
-
Víctor de Buen Remiro
- Comment:
-
Legend:
- Unmodified
- Added
- Removed
- Modified
-
v4
|
v5
|
|
9 | 9 | Estas son las posibilidades que se recomiendan a la hora de integrar un GC en una aplicación C/C++: |
10 | 10 | |
11 | | * '''Conservative garbage collector''': Estos sistemas aportan funciones de asignación y reasignación que hay que llamar en lugar de malloc, realloc o new. En teoría es posible sustituir las funciones del sistema por las del GC para que no haya que tocar el código. [http://www.hpl.hp.com/personal/Hans_Boehm/gc/issues.html Aquí] se pueden ver ventajas e inconvenientes de este tipo de sistemas |
| 11 | * '''Conservative garbage collector''': Estos sistemas aportan funciones de asignación y reasignación que hay que llamar en lugar de malloc, realloc o new. En teoría es posible sustituir las funciones del sistema por las del GC para que no haya que tocar el código. [http://www.hpl.hp.com/personal/Hans_Boehm/gc/issues.html Aquí] se pueden ver ventajas e inconvenientes de este tipo de sistemas. Parece relativaente sencillo de incorporar la parte C (malloc, calloc, ...) pero no está tan claro qué pasa con new, y especialmente con new [] |
12 | 12 | * [http://www.hpl.hp.com/personal/Hans_Boehm/gc/ Boehm-Demers-Weiser GC]: de HP con licencia GPL |
13 | 13 | * [http://developers.sun.com/solaris/articles/libgc.html libgc ]: Creo sólo funciona en el sistema Oracle Solaris y no estoy seguro del tipo de licencia. |
14 | 14 | * [http://www.codeproject.com/KB/cpp/conservative_gc.aspx CGCC]: Proyecto unipersonal de Yasin HINISLIOGLU con licencia GPL |
15 | | * '''Template Smart Pointers''': Hay que heredar de una clase base y llamar a un template del tipo para el alojamiento de memoria. Sólo sirve en C++ por razones obvias. |
| 15 | * '''Template Smart Pointers''': Hay que heredar de una clase base y llamar a un template del tipo para el alojamiento de memoria. Sólo sirve en C++ por razones obvias. No parece fácil de incorporar a TOL pues lo que se propone es no usar los punteros directamente, sino instancias del template. |
16 | 16 | * [http://blog.ilikeblues.com/2010/09/c-garbage-collection-usando-la-libreria-boost/ shared_ptr]: se distribuye dentro de BOOST |
17 | 17 | * [http://www.codeproject.com/KB/cpp/automatic_gc_using_sp.aspx gcPtr]: Proyecto unipersonal sin licencia específica |