64 bit integer advice needed



Hi,

Can any one help me with this. I'm running into problems with my program and 64 bit integers on someone elses Alpha machine.

On my 32 bit machine glibconfig.h has the following typedefs:

typedef signed int gint32;
typedef unsigned int guint32;
G_GNUC_EXTENSION typedef signed long long gint64;
G_GNUC_EXTENSION typedef unsigned long long guint64;

so the following to functions have a different signature and will compile OK.

void set_value(gint32 value);
void set_value(guint32 value);
void set_value(gint64 value);
void set_value(guint64 value);

On an Alpha machine which has 64 bit integers glibconfig.h has these typedefs:

typedef signed int gint32;
typedef unsigned int guint32;
typedef signed long gint64;
typedef unsigned long guint64;

On this machine it treats the 32 and 64 integer functions as the same and you get a compiler error.
Should I be checking for 64 bit integers at configuration, and using a preprocessor define to prevent compilation of the 64 bit versions of the functions.



Jeff Franks






[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]