[Gambas-devel] [Gambas-user] 64 bits version

Benoit Minisini gambas at ...1...
Mon Jan 14 17:49:35 CET 2008


On lundi 14 janvier 2008, Daniel Campos wrote:
> You can test that for example, is a simple console program that calls
> GTK+ to create a window and show it. if this simple example works we
> can test more complicated calls.
>
> Daniel
>

Don't be too optimistic :-) Loading class does not work yet, it crashed.

As for calling external function, it may be not possible as apparently calling 
convention changed between 32 bits and 64 bits. Now registers seems to be 
used by default. Maybe another trick will be needed.

There is a lot of work to do in your components too, so that they are 64 bits 
aware. I did the work just for gb.compress.zlib. But if you could do it, I 
will be able to concentrate on other more difficult things. :-)

Mainly, you have to:

* Replace 'long' datatypes by 'int' if just a 32 bits integer is needed.

* Replace 'long' by 'intptr_t' if you are storing a pointer.

* Replace 'long long' by 'int64_t'.

* Fix the other casting warnings.

* Fix the use of GB_STREAM structure as I did in gb.compress.zlib. I will 
declare GB_STREAM without the 'free' members, so that it will be used exactly 
as GB_BASE. So you will have to declare your own stream structure. Something 
like:

typedef
  struct {
    GB_STREAM_BASE stream;
    void *myHandle;
    ...
    }
  MY_STREAM;

I will fix the declaration of GB_STREAM soon.

* Surely other things I didn't think now. :-)

Regards,

-- 
Benoit Minisini




More information about the Devel mailing list