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

简介: 本节书摘来华章计算机《并行计算的编程模型》一书中的第2章 ,第2.5.2节, [(美)帕万·巴拉吉(Pavan Balaji)编著;张云泉等译,更多章节内容可以访问云栖社区“华章计算机”公众号查看。

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。
相关文章
|
20天前
|
设计模式 API 开发者
框架和函数库的区别
框架和函数库的区别
8 1
|
21天前
|
设计模式 开发框架 测试技术
框架和函数库的区别?
框架和函数库的区别?
|
22天前
|
开发工具 C语言 git
【嵌入式开源库】MultiButton的使用,简单易用的事件驱动型按键驱动模块
【嵌入式开源库】MultiButton的使用,简单易用的事件驱动型按键驱动模块
|
1月前
|
算法 小程序 Linux
如何编写高效清晰的嵌入式C程序
如何编写高效清晰的嵌入式C程序
8 0
|
1月前
|
算法 小程序 Linux
如何写出高效清晰的嵌入式C程序
如何写出高效清晰的嵌入式C程序
10 0
|
2月前
|
算法 安全 Go
Go语言标准库核心模块详解:构建高效应用的基石
【2月更文挑战第8天】Go语言标准库中的核心模块为开发者提供了构建高效应用所需的基础功能和工具。本文将深入探讨Go语言标准库中的几个核心模块,包括容器与集合、并发与并行、输入输出、时间与日期、字符串处理以及加密与安全,帮助读者更好地理解和应用这些核心模块,为构建高效应用打下坚实基础。
|
3月前
|
Linux 编译器 程序员
嵌入式中编写可移植 C/C++ 程序的要点方法
嵌入式中编写可移植 C/C++ 程序的要点方法
25 0
|
9月前
|
存储 编译器 程序员
程序环境和预处理 - 带你了解底层的的编译原理
程序环境和预处理 - 带你了解底层的的编译原理
74 1
|
Rust 安全 JavaScript
Rust通用编程概念
Rust通用编程概念
|
消息中间件 设计模式 Rust
Rust网络编程框架-深入理解Tokio中的管道
我们在上文《Rust网络编程框架-Tokio进阶》介绍了async/await和锁的基本用法,并完成了一个Server端的DEMO代码。本文继续来探讨这个话题。
Rust网络编程框架-深入理解Tokio中的管道

热门文章

最新文章