[gambit-list] What is the Scheme notation for **argv
Vok Vojwo
ceving at gmail.com
Wed Nov 2 10:18:42 EDT 2011
2011/11/2 Vok Vojwo <ceving at gmail.com>:
>
> I would like to write a c-lambda for gtk_init:
>
> http://developer.gnome.org/gtk/2.24/gtk-General.html#gtk-init
>
> As far as I see I have to specify a Scheme notation identifier for
> each C type. Which would be the correct one for the ***argv argument?
> This is a pointer to mains **argv.
I found the pointer specification. ;-)
(define gtk-init
(let ((gtk-init (c-lambda ((pointer int #f)
(pointer (pointer (pointer char #f) #f) #f))
void "gtk_init")))
(lambda () (gtk-init 0 0))))
But it still does not work.
In C it is possible to avoid the argc and argv arguments:
gtk_init (0, 0);
But the the above Gambit code throws an error:
*** ERROR IN | gtk-hello| -- (Argument 1) Can't convert to C pointer
(| gtk-hello#2| 0 0)
I am wondering why, because the #f tag should suppress type checking.
More information about the Gambit-list
mailing list