"Marco Maggi" <[EMAIL PROTECTED]> writes:

> "William Xu" wrote:
>> Swig could generate pointer types  in C to smob. But users
>> still  have to define  smob related  operations(like mark,
>> free, etc) by hand?
>
> Mh, no.   I have never used SWIG  but if I read  [1] and [2]
> and   by   inspecting   "Examples/guile"   in   the   source
> distribution  of SWIG  1.3.31,  it seems  to  me that  every
> unknown data type used  as parameter to functions is treated
> like a pointer.
>
> [1] <http://www.swig.org/Doc1.1/HTML/SWIG.html#n3>
> [2] "swig-1.3.31/Doc/Manual/Guile.html"
>
>   That is: SWIG generates a SMOB holding two values:
>
> 1 - the pointer to the data instance;
> 2 - a string holding the name of the unknown type;

Yes, it's more like a smob type pointer. Consider this, 

    void bar(unsigned char *s)
    {
         printf("s = %s\n", s);
    }
    
One problem is that how i create and pass a `unsigned char*' parameter
to `bar'. If SWIG requires me to write smob creation myself, that's a
pain...

>   By the way: to write a SMOB driver is not difficult if
> you know some C language. Are you sure that you need
> SWIG?

As we know, one of guile or scheme's big shortcomings is lack of
libraries. On the contrary, C libraries are pretty full. Hence, if SWIG
can do a good job on wrapping C codes for guile, that would really be
great..

-- 
William

I used to be disgusted, now I find I'm just amused.
                -- Elvis Costello


_______________________________________________
Guile-user mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/guile-user

Reply via email to