[
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: | 2004-02-20 (19:50) |
From: | Markus Mottl <markus@o...> |
Subject: | Re: [Caml-list] void/unit in C calls |
On Fri, 20 Feb 2004, Michael Furr wrote: > I realize this is somewhat of a pedantic question but, what is the proper > prototype for a C function which has a parameter of type unit? > ie: > external foo : unit -> unit = "foo_c" > > should foo_c be declared > void foo_c(void); > or > value foo_c(value); > > Would it ever cause a problem on any architecture if one used the wrong > form? It makes a difference: you should always return Val_unit from unit-functions implemented in C. Otherwise you might find obscure things like: foo () <> () Or worse... - somebody reported to me that he sometimes saw programs crash, though it isn't certain that this was the cause. It shouldn't matter whether you pass void or value to C, I think, unless you want to use the value - which is quite unlikely. Regards, Markus -- Markus Mottl http://www.oefai.at/~markus markus@oefai.at ------------------- To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/ Beginner's list: http://groups.yahoo.com/group/ocaml_beginners