> What are the important things that I should consider during conversion from
> 32bit to 64bit.
FLTK should work fine - you will need to build a 64-bit version of fltk of course, but that is straightforward.
> For example int, long will not work for 64bit. and float should be double.
> etc. ?
standard types,; int, long, float, double will all work just fine and should not generally need changed.
There is no reason to change from float to double unless you need the extra resolution.
On Windows, note that MS decided not to change the sizes of the stock types, so *under Windows 64 bit* an int and a long are both still 32-bit types.
On other 64 bit hosts, an int is still 32-bit but a long becomes 64-bit.
You probably want to google about on this topic, there's a lot of good information out there.
The one that you really have to watch for is passing pointers via integral types; lots of code assumes a long is big enough to hold a pointer on all platforms, but of course under Win64 that is not true.
Fltk provides typedef's for handling this (i.e. an integral type that is big enough to hold a pointer and v.v) that you can use; fl_intptr_t and fl_uintptr_t.
For my own part, I have enthusiastically embraced the use of C99 stdint types everywhere in my code. This annoys purists who will tell you that the C++ compilers do not support C99 types, but in practice they all do these days...
So, that’s int32_t, int64_t, etc...
Selex ES Ltd
Registered Office: Sigma House, Christopher Martin Road, Basildon, Essex SS14 3EL
A company registered in England & Wales. Company no. 02426132
********************************************************************
This email and any attachments are confidential to the intended
recipient and may also be privileged. If you are not the intended
recipient please delete it from your system and notify the sender.
You should not copy it or use it for any purpose nor disclose or
distribute its contents to any other person.
********************************************************************