且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

《并行计算的编程模型》一2.5.2 可移植平台头文件

更新时间:2022-09-10 22:16:13

2.5.2 可移植平台头文件
即使使用诸如GASNet工具之类的资源,经常也需要编写特定平台的代码。例如包括针对操作系统的优化或针对给定编译器一些版本错误的解决方案。头文件portable_platform.h旨在简化管理平台特定代码所需的C预处理器逻辑。这提高了程序的可维护性并避免了在使用特定解决方案时可能出现的错误。该头文件中的C预处理逻辑用于识别操作系统、编译器、CPU和其他几个平台特性,并在统一的命名空间中导出这些信息。主要的分类信息如下所示:

  • PLATFORM_OS_*:用于操作系统。
  • PLATFORM_COMPILER_*:用于编译器相关和语言(C vs C++)。
  • PLATFORM_COMPILER_VERSION_*:用于数字和字符串表示的编译器版本以及对比数字版本的宏。
  • PLATFORM_ARCH_{32,64}:用于字大小(指针宽度)。
  • PLATFORM_ARCH_{BIG,LITTLE}_ENDIAN:用于字节排序。
  • PLATFORM ARCH_*:用于进程组相关。
    典型的示例包括PLATFORM_OS_LINUX、PLATFORM_COMPILER_GNU和- PLATFORM_ARCH_X86_64。