当前位置: 代码迷 >> 综合 >> 如何使用C++与宏定义(macro)写出一个完全跨平台程序(1)(size_type类型的定义)
  详细解决方案

如何使用C++与宏定义(macro)写出一个完全跨平台程序(1)(size_type类型的定义)

热度:80   发布时间:2024-01-25 07:39:23.0

假定电脑系统只是Windows/Mac OS/Linux好了。

#ifdef _linux_
#ifdef __x86_64__
typedef long long unsigned int size_type;
#elif __i386__
typedef long unsigned int size_type;
#endif
#elif _WIN64||_WIN32||_WIN16||_WIN8
#ifdef _WIN64
typedef long long unsigned int size_type;
#elif _WIN32
typedef long unsigned int size_type;
#elif _WIN16
typedef short unsigned int size_type;
#else
typedef char unsigned size_type;
#endif
#elif __APPLE__
#ifdef __LP64__
typedef long long unsigned int size_type;
#else
typedef long unsigned int size_type;
#endif
#endif

这只是一个启发。
跨平台时,要注意系统位数,至少考虑到32位系统与64位系统。
Windows系统的话,可以去考虑考虑那些“老爷机”(16位,甚至8位)
一个跨平台程序,除了使用C++标准库,还要对宏定义的使用十分娴熟。
这才叫写跨平台程序的老手。
(反正程序错了又没关系,哈哈哈!又不是要我这样的蒟蒻小白写那种高级程序猿写的跨平台代码。再说了,他们也不是分Windows版本、Linux版本与Mac OS版本软件的吗?)

  相关解决方案