caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
* charger une DLL C dans programme ocaml
@ 2008-04-22 22:25 Benjamin Vadon
  2008-04-23  6:56 ` [Caml-list] " Christophe TROESTLER
  0 siblings, 1 reply; 3+ messages in thread
From: Benjamin Vadon @ 2008-04-22 22:25 UTC (permalink / raw)
  To: caml-list

[-- Attachment #1: Type: text/plain, Size: 990 bytes --]

Bonjour.
Je cherche, mais sans résultats concluant pour le moment, comment l'on
charge une DLL, codée en C, dans mon code ocaml.

J'explique un peu le projet pour que cela soit plus clair.
J'ai un matériel relié à un ordinateur, dont le code pour effectuer la
communication entre les deux est une DLL (dont j'ai le code source C, mais
auquel je ne voudrai pas toucher).
Je dois créer un logiciel graphique (gtk) qui communique avec ce matériel,
et ce faisant appel à la DLL, et j'aurai souhaité le développer en ocaml, au
lieu de c++ comme prévu au départ, pour divers raisons.
Le point qui me bloque donc pour me lancer dans le choix d'ocaml est de
savoir comment intégrer les appels à la DLL.
J'ai vu dans le manuel d'ocaml que l'on devait, pour la compilation, qu'il
suffisait de rajouter la DLL dans la ligne de compilation. Mais dans le code
ocaml, comment fais-je appel aux différentes fonctions ? Comme pour
n'importe quel code C ?

Merci de votre aide, par avance ^^

[-- Attachment #2: Type: text/html, Size: 1068 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [Caml-list] charger une DLL C dans programme ocaml
  2008-04-22 22:25 charger une DLL C dans programme ocaml Benjamin Vadon
@ 2008-04-23  6:56 ` Christophe TROESTLER
  2008-04-23  7:24   ` Benjamin Vadon
  0 siblings, 1 reply; 3+ messages in thread
From: Christophe TROESTLER @ 2008-04-23  6:56 UTC (permalink / raw)
  To: benjamin.vadon; +Cc: caml-list

On Wed, 23 Apr 2008 00:25:25 +0200, Benjamin Vadon wrote:
> 
> Je dois créer un logiciel graphique (gtk) qui communique avec ce matériel,
> et ce faisant appel à la DLL, et j'aurai souhaité le développer en ocaml, au
> lieu de c++ comme prévu au départ, pour divers raisons.

Vous voudrez probablement lire le chapitre gtk de http://ocaml-tutorial.org/

> Le point qui me bloque donc pour me lancer dans le choix d'ocaml est de
> savoir comment intégrer les appels à la DLL.

Il faut écrire des stubs comme décrit dans le manuel :
http://caml.inria.fr/pub/docs/manual-ocaml/manual032.html
Pour la compilation, vous pouvez regarder le script
http://www.ocaml.info/ocaml_sources/pcre-ocaml-5.14.0/pcre_make.win32/make_pcre.ml
de PCRE-OCaml qui crée les lignes de commande nécessaires.

Ce tutorial peut éventuellement vous être utile :
http://www.linux-nantes.org/~fmonnier/OCaml/ocaml-wrapping-c.php

Bien sûr, vous pouvez aussi essayer la branche « natdynlink » :
http://alain.frisch.fr/natdynlink.html

Cordialement,
ChriS


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [Caml-list] charger une DLL C dans programme ocaml
  2008-04-23  6:56 ` [Caml-list] " Christophe TROESTLER
@ 2008-04-23  7:24   ` Benjamin Vadon
  0 siblings, 0 replies; 3+ messages in thread
From: Benjamin Vadon @ 2008-04-23  7:24 UTC (permalink / raw)
  To: Christophe TROESTLER; +Cc: caml-list

[-- Attachment #1: Type: text/plain, Size: 771 bytes --]

Merci pour vos réponses.
Le programme devra etre sous windows, je pensais que les dll n'étaient
utilisés et utilisables que sous windows (non?).
Pour le chargement de la dll,  je ne pense pas que cela soit utile de
charger en dynamique la dll, je vais vérifier ce point au plus vite.
Faire un wrapper me faisait un peu peur avant, mais le site de florent
Monnier a écrit m'a éclairci un peu le sujet. Je vais potasser ça un peu
pour être sur de me lancer dans le développement en ocaml.
J'ai déjà développé en labgltk, mais merci pour le lien pour gtk, je ne
connaissais pas celui là.
Pour l'anglais, je me suis demandé, mais je n'ai pas vu de consigne, alors
j'ai préféré m'a langue maternelle pour être de bien m'exprimer :)

Cordialement.

Benjamin

[-- Attachment #2: Type: text/html, Size: 841 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2008-04-23  7:24 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-04-22 22:25 charger une DLL C dans programme ocaml Benjamin Vadon
2008-04-23  6:56 ` [Caml-list] " Christophe TROESTLER
2008-04-23  7:24   ` Benjamin Vadon

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).