Browse thread
Interfaçage C/CAML
- Nicolas Joliot
[
Home
]
[ Index:
by date
|
by threads
]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
| Date: | -- (:) |
| From: | Nicolas Joliot <Nicolas.Joliot@i...> |
| Subject: | Interfaçage C/CAML |
Je suis actuellement en train de travailler sur l'interfaçage pour CAML de la bibliothèque ILOG CPLEX 6.5. J'ai actuellement des problèmes lorsque j'invoque 2 de ces fonctions C sous Caml, l'une me renvoyant un floatant, l'autre un tableau de floatant. Lorsqu'elles sont appelées séparément, je peux afficher les resulats sans problème, mais lorsque les deux sont appelées successivement et que j'essaye d'afficher le tableau de floatants, j'ai systématiquement un "Bus Error". Par contre, l'affichage du floatant simple ne pose pas de problème, aussi je pense que l'erreur doit provenir de la façon dont j'ai représenté le tableau de floatant dans le fichier interface .c : - déclaration : CAMLlocal1(tableau_float) - allocation : tableau_float=alloc(nb_element*2,Double_array_tag) - Utilisation :Store_double_field(tableau_float,i,floatant_a_renvoyer) _ retour sous CAML par CAMLreturn La représentation de ce tableau de float de type value est-elle correcte? Si oui, quel peut être l'explication de ce plantage systématique? Si non, quel est la bonne représentation en type "value" d'un tableau de floatant? ( qui est d'ailleurs assez mal expliquée sur le manuel on-line de ocaml) Par ailleurs, j'ai remarqué qu'un printf"%f" pour afficher les floatants de ce tableau engendrait parfois un "Bus Error". ----------------------------------------------------------- JOLIOT Nicolas. IRISA-INRIA, Campus de Beaulieu, 35042 Rennes cedex, France Tél: +33 (0) 2 99 84 71 00, Fax: +33 (0) 2 99 84 71 71 email : nicolas.joliot@irisa.fr -----------------------------------------------------------