Version française
Home     About     Download     Resources     Contact us    

This site is updated infrequently. For up-to-date information, please visit the new OCaml website at

Browse thread
RE: [Caml-list] allocating memory for c-structures
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: 2006-12-26 (18:32)
Subject: RE: [Caml-list] allocating memory for c-structures
The issue about having c structures allocated in ocaml heap is about:
1) having a floating pointer that could be displaced by the gc during its cycles (if it is emedded into ocaml heap)
2) having it reside in the c heap, and not be impacted by caml gc cycles (this can be justified if the c structure is heavy in memory, like a c array, ...): this is done by creating caml values with a custom or abstract tag.
3) memory freeing could always be done to a custom_tag value through the finalization function passed during the creation.

Hope this helps,

-----Message d'origine-----
De : [] De la part de micha
Envoyé : mardi 26 décembre 2006 19:16
À : OCaml Mailing List
Objet : [Caml-list] allocating memory for c-structures

Normaly I allocate memory for c-structures with malloc or with "new" for 
c++ objects. Some time ago a read about a library which places external 
structures in strings of the interfacing languages (it was a scheme lib 
I think). So instead of using malloc or new I would allocate an 
ocaml-string and put the c-structure there. So it will be free by the gc.
That seems o.k. for me, any comments? I'm missing something?


Caml-list mailing list. Subscription management:
Beginner's list:
Bug reports:
Ce message et toutes les pieces jointes (ci-apres le "message") sont confidentiels et etablis a l'intention exclusive de ses destinataires. 
Toute utilisation ou diffusion non autorisee est interdite. 
Tout message electronique est susceptible d'alteration. 
Societe Generale Asset Management et ses filiales declinent toute responsabilite au titre de ce message s'il a ete altere, deforme ou falsifie. 
Decouvrez l'offre et les services de Societe Generale Asset Management sur le site 
This message and any attachments (the "message") are confidential and intended solely for the addressees. 
Any unauthorised use or dissemination is prohibited. 
E-mails are susceptible to alteration. 
Neither Societe Generale Asset Management nor any of its subsidiaries or affiliates shall be liable for the message if altered, changed or falsified. 
Find out more about Societe Generale Asset Management's proposal on