【发布时间】:2012-04-27 06:39:19
【问题描述】:
我正在编写一个程序,以每 32 位为单位(即一次 4 个字节)将数据存储到文件中。我在 64 位 Windows 系统中编写代码,但我使用的编译器是 32 位(mingw32)。在当前系统中,int和long的大小都是一样的,都是32位(4bytes)。我目前正在通过使用 g++ 重新编译(不更改代码)将代码移植到其他系统。但是,我发现 int 或 long 的大小是不同的,并且取决于系统。是否有任何方式(例如在头文件中使用宏)来确定整数的大小,以便决定是否应将 int 或 long 用作代码中的数据类型?我必须在 4 个不同类型的系统中重新编译代码,如果我将代码修改为每个系统有 4 个不同的副本,那真是令人头疼。
【问题讨论】:
标签: c++ int long-integer