设为首页 收藏本站
查看: 1185|回复: 0

[经验分享] Win Unix Mac 等多种系统平台的宏定义

[复制链接]

尚未签到

发表于 2016-5-18 02:52:49 | 显示全部楼层 |阅读模式
  最近正在学习C++程序从 Windows 平台向 Unix 平台移植,参考了 qt 的宏定义文件
  
  Win Unix Mac 等多种系统平台的宏定义,平台移植时可做参考
  #ifndef QGLOBAL_H#define QGLOBAL_H#define QT_VERSION_STR   "3.1.2"/*QT_VERSION is (major << 16) + (minor << 8) + patch.*/#define QT_VERSION 0x030102/*The operating system, must be one of: (Q_OS_x)MACX- Mac OS XMAC9- Mac OS 9MSDOS- MS-DOS and WindowsOS2- OS/2OS2EMX- XFree86 on OS/2 (not PM)WIN32- Win32 (Windows 95/98/ME and Windows NT/2000/XP)CYGWIN- CygwinSOLARIS- Sun SolarisHPUX- HP-UXULTRIX- DEC UltrixLINUX- LinuxFREEBSD- FreeBSDNETBSD- NetBSDOPENBSD- OpenBSDBSDI- BSD/OSIRIX- SGI IrixOSF- HP Tru64 UNIXSCO- SCO OpenServer 5UNIXWARE- UnixWare 7, Open UNIX 8AIX- AIXHURD- GNU HurdDGUX- DG/UXRELIANT- Reliant UNIXDYNIX- DYNIX/ptxQNX- QNXQNX6- QNX RTP 6.1LYNX- LynxOSBSD4- Any BSD 4.4 systemUNIX- Any UNIX BSD/SYSV system*/#if defined(__APPLE__) && defined(__GNUC__)#  define Q_OS_MACX#elif defined(__MACOSX__)#  define Q_OS_MACX#elif defined(macintosh)#  define Q_OS_MAC9#elif defined(__CYGWIN__)#  define Q_OS_CYGWIN#elif defined(MSDOS) || defined(_MSDOS)#  define Q_OS_MSDOS#elif defined(__OS2__)#  if defined(__EMX__)#    define Q_OS_OS2EMX#  else#    define Q_OS_OS2#  endif#elif !defined(SAG_COM) && (defined(WIN64) || defined(_WIN64) || defined(__WIN64__))#  define Q_OS_WIN32#  define Q_OS_WIN64#elif !defined(SAG_COM) && (defined(WIN32) || defined(_WIN32) || defined(__WIN32__) || defined(__NT__))#  define Q_OS_WIN32#elif defined(__MWERKS__) && defined(__INTEL__)#  define Q_OS_WIN32#elif defined(__sun) || defined(sun)#  define Q_OS_SOLARIS#elif defined(hpux) || defined(__hpux)#  define Q_OS_HPUX#elif defined(__ultrix) || defined(ultrix)#  define Q_OS_ULTRIX#elif defined(sinix)#  define Q_OS_RELIANT#elif defined(__linux__) || defined(__linux)#  define Q_OS_LINUX#elif defined(__FreeBSD__)#  define Q_OS_FREEBSD#  define Q_OS_BSD4#elif defined(__NetBSD__)#  define Q_OS_NETBSD#  define Q_OS_BSD4#elif defined(__OpenBSD__)#  define Q_OS_OPENBSD#  define Q_OS_BSD4#elif defined(__bsdi__)#  define Q_OS_BSDI#  define Q_OS_BSD4#elif defined(__sgi)#  define Q_OS_IRIX#elif defined(__osf__)#  define Q_OS_OSF#elif defined(_AIX)#  define Q_OS_AIX#elif defined(__Lynx__)#  define Q_OS_LYNX#elif defined(__GNU_HURD__)#  define Q_OS_HURD#elif defined(__DGUX__)#  define Q_OS_DGUX#elif defined(__QNXNTO__)#  define Q_OS_QNX6#elif defined(__QNX__)#  define Q_OS_QNX#elif defined(_SEQUENT_)#  define Q_OS_DYNIX#elif defined(_SCO_DS)                   /* SCO OpenServer 5 + GCC */#  define Q_OS_SCO#elif defined(__USLC__)                  /* all SCO platforms + UDK or OUDK */#  define Q_OS_UNIXWARE#  define Q_OS_UNIXWARE7#elif defined(__svr4__) && defined(i386) /* Open UNIX 8 + GCC */#  define Q_OS_UNIXWARE#  define Q_OS_UNIXWARE7#else#  error "Qt has not been ported to this OS - talk to qt-bugs@trolltech.com"#endif#if defined(Q_OS_MAC9) || defined(Q_OS_MACX)#  define Q_OS_MAC#endif#if defined(Q_OS_MAC9) || defined(Q_OS_MSDOS) || defined(Q_OS_OS2) || defined(Q_OS_WIN32) || defined(Q_OS_WIN64)#  undef Q_OS_UNIX#elif !defined(Q_OS_UNIX)#  define Q_OS_UNIX#endif
  
  ===================================================================
  
  拓展参考:
  
  qglobal.h中可以得到的信息

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-218320-1-1.html 上篇帖子: Mac: Another OD Binding scirpt 下篇帖子: Mac下查看、添加path环境变量
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表