-fopenmp 提供什么预处理器定义?

2023-11-21

我有一些可以使用(或不使用)OpenMP 运行的代码 - 这取决于用户如何设置 makefile。如果他们想使用 OpenMP 运行,那么他们只需添加-fopenmp to CFLAGS and CXXFLAGS.

我正在尝试确定可以使用什么预处理器宏来判断何时-fopenmp已生效。这omp.h标题看起来不太有趣:

$ cat /usr/lib/gcc/x86_64-linux-gnu/4.8/include/omp.h | grep define
#define OMP_H 1
#define _LIBGOMP_OMP_LOCK_DEFINED 1
# define __GOMP_NOTHROW throw ()
# define __GOMP_NOTHROW __attribute__((__nothrow__))

我无法让预处理器提供任何有用的东西:

$ cpp -dM -fopenmp </dev/null | grep -i omp
#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 1
#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 1
#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 1
#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 1
#define __STDC_IEC_559_COMPLEX__ 1

$ cpp -dM -fopenmp </dev/null | grep -i version
#define __GXX_ABI_VERSION 1002
#define __VERSION__ "4.8.2"

预处理器定义了什么-fopenmp提供?


这类似于如何判断 OpenMP 是否正常工作?但我对编译时感兴趣,而不是构建后或运行时。

Note:这个项目不使用Boost,不使用Autotools,也不使用Cmake。它只使用一个 makefile。


您的 grep 过于具体,您应该寻找“openmp”。

或者更确切地说,差异cpp -dM -fopenmp </dev/null and cpp -dM </dev/null产生单个差异:

#define _OPENMP 201107

这应该正是您正在寻找的。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

-fopenmp 提供什么预处理器定义? 的相关文章

  • C 编程 - 文件 - fwrite

    我有一个关于编程和文件的问题 while current NULL if current gt Id Doctor 0 current current gt next id doc current gt Id Doctor if curre
  • 为什么 C# Array.BinarySearch 这么快?

    我已经实施了一个很简单用于在整数数组中查找整数的 C 中的 binarySearch 实现 二分查找 static int binarySearch int arr int i int low 0 high arr Length 1 mid
  • 查找c中结构元素的偏移量

    struct a struct b int i float j x struct c int k float l y z 谁能解释一下如何找到偏移量int k这样我们就可以找到地址int i Use offsetof 找到从开始处的偏移量z
  • 使用实体框架模型输入安全密钥

    这是我今天的完美想法 Entity Framework 中的强类型 ID 动机 比较 ModelTypeA ID 和 ModelTypeB ID 总是 至少几乎 错误 为什么编译时不处理它 如果您使用每个请求示例 DbContext 那么很
  • 类模板参数推导 - clang 和 gcc 不同

    下面的代码使用 gcc 编译 但不使用 clang 编译 https godbolt org z ttqGuL template
  • BitTorrent 追踪器宣布问题

    我花了一点业余时间编写 BitTorrent 客户端 主要是出于好奇 但部分是出于提高我的 C 技能的愿望 我一直在使用理论维基 http wiki theory org BitTorrentSpecification作为我的向导 我已经建
  • 在 Windows 窗体中保存带有 Alpha 通道的单色位图会保存不同(错误)的颜色

    在 C NET 2 0 Windows 窗体 Visual Studio Express 2010 中 我保存由相同颜色组成的图像 Bitmap bitmap new Bitmap width height PixelFormat Form
  • HTTPWebResponse 响应字符串被截断

    应用程序正在与 REST 服务通信 Fiddler 显示作为 Apps 响应传入的完整良好 XML 响应 该应用程序位于法属波利尼西亚 在新西兰也有一个相同的副本 因此主要嫌疑人似乎在编码 但我们已经检查过 但空手而归 查看流读取器的输出字
  • 在 ASP.NET 5 中使用 DI 调用构造函数时解决依赖关系

    Web 上似乎充斥着如何在 ASP NET 5 中使用 DI 的示例 但没有一个示例显示如何调用构造函数并解决依赖关系 以下只是众多案例之一 http social technet microsoft com wiki contents a
  • 使用 WebClient 时出现 System.Net.WebException:无法创建 SSL/TLS 安全通道

    当我执行以下代码时 System Net ServicePointManager ServerCertificateValidationCallback sender certificate chain errors gt return t
  • C++ OpenSSL 导出私钥

    到目前为止 我成功地使用了 SSL 但遇到了令人困惑的障碍 我生成了 RSA 密钥对 之前使用 PEM write bio RSAPrivateKey 来导出它们 然而 手册页声称该格式已经过时 实际上它看起来与通常的 PEM 格式不同 相
  • 显示UnityWebRequest的进度

    我正在尝试使用下载 assetbundle统一网络请求 https docs unity3d com ScriptReference Networking UnityWebRequest GetAssetBundle html并显示进度 根
  • while 循环中的 scanf

    在这段代码中 scanf只工作一次 我究竟做错了什么 include
  • 控件的命名约定[重复]

    这个问题在这里已经有答案了 Microsoft 在其网站上提供了命名指南 here http msdn microsoft com en us library xzf533w0 VS 71 aspx 我还有 框架设计指南 一书 我找不到有关
  • 如何在 C 中调用采用匿名结构的函数?

    如何在 C 中调用采用匿名结构的函数 比如这个函数 void func struct int x p printf i n p x 当提供原型的函数声明在范围内时 调用该函数的参数必须具有与原型中声明的类型兼容的类型 其中 兼容 具有标准定
  • 这些作业之间是否存在顺序点?

    以下代码中的两个赋值之间是否存在序列点 f f x 1 1 x 2 不 没有 在这种情况下 标准确实是含糊不清的 如果你想确认这一点 gcc 有这个非常酷的选项 Wsequence point在这种情况下 它会警告您该操作可能未定义
  • 如何将带有 IP 地址的连接字符串放入 web.config 文件中?

    我们当前在 web config 文件中使用以下连接字符串 add name DBConnectionString connectionString Data Source ourServer Initial Catalog ourDB P
  • 基于 OpenCV 边缘的物体检测 C++

    我有一个应用程序 我必须检测场景中某些项目的存在 这些项目可以旋转并稍微缩放 更大或更小 我尝试过使用关键点检测器 但它们不够快且不够准确 因此 我决定首先使用 Canny 或更快的边缘检测算法 检测模板和搜索区域中的边缘 然后匹配边缘以查
  • IEnumreable 动态和 lambda

    我想在 a 上使用 lambda 表达式IEnumerable
  • C++ 中类级 new 删除运算符的线程安全

    我在我的一门课程中重新实现了新 删除运算符 现在我正在使我的代码成为多线程 并想了解这些运算符是否也需要线程安全 我在某处读到 Visual Studio 中默认的 new delete 运算符是线程安全的 但这对于我的类的自定义 new

随机推荐

  • hibernate实体转json

    我使用 Hibernate 4 和 Spring 3 我有两个实体 图书实体 Entity Table name book public class Book implements Serializable public Book priv
  • 将对象从驱动程序传递到 MapReduce

    我创建了一个驱动程序 它读取配置文件 构建对象列表 基于配置 并将该列表传递给 MapReduce MapReduce 有一个静态属性 它保存对该对象列表的引用 它有效 但仅限于本地 一旦我在集群配置上运行作业 我就会收到各种错误 表明列表
  • 尝试将 laravel lighthouse-php 与 Roadrunner Server 结合使用时遇到间歇性错误

    走鹃 1 8 1 拉拉维尔 7 17 2 灯塔 4 15 0 使用 NGINX 时 我的 GraphQL API 架构没有任何问题 然而 当我切换到 Roadrunner 时 我突然间歇性地收到如下错误 message Lighthouse
  • 如何快速估计两点(纬度、经度)之间的距离?

    我希望能够估计两个 纬度 经度 点之间的距离 我想要下冲 因为这将用于 A 图搜索 我希望它是fast 这些点相距最多 800 公里 的答案Python 中的半正弦公式 两个 GPS 点之间的方位和距离 提供可以回答您的问题的 Python
  • Cordova:JDK 1.8 或更高版本的要求检查失败

    我在 Windows 7 操作系统中使用 Cordova 6 4 0 但是当我尝试构建 android 版本时出现此错误 Java Home 变量已正确设置为 JDK 路径 但我不知道为什么会出现此问题 请问有什么建议吗 在 Linux D
  • 替换外来字符

    在将值存储到数据库之前 我需要能够用英语等效字符替换一些常见的外语字符 例如 用 来代替ae and with n 我使用 preg replace 吗 Thanks 对于单个重音字符 str strtr str AAAAAACEEEEII
  • 在android中将房间数据库导出到csv文件

    有很多教程可用于将 SQLite 数据库导出到 csv 文件 但没有足够的内容用于从房间数据库导出 使用sqlite导出参考在android中将SQLite数据库导出到csv文件手动解析行的每一列以查找空间 以下是我的代码 Dao inte
  • 如何正确编辑阿拉伯字符串?

  • 浏览器控制台中的变量 [[FunctionLocation]]、[[Scopes]]: 是什么

    使用 jQuery Ajax 时 在浏览器控制台中 我可以看到 xhr 对象有两个 props 字段 采用一些奇怪的符号 双方括号 在这种情况下不认为它意味着数组 首先 它们到底是什么 其次 我可以从 JavaScript 代码访问这些值吗
  • Pandas:np.where 在数据帧上具有多个条件

    大家好 我查遍了SO和谷歌 但找不到任何类似的东西 我有一个数据框 x 基本上由一行和 300 列组成 和另一个大小相同但数据不同的数据框 y 我想修改 x 如果它与 y 有不同的符号并且 x 本身不为 0 则它为 0 否则保持原样 所以这
  • 自定义 RESTful 资源的 url_for(复合键;不仅仅是 id)

    给定以下资源定义 map resources posts except gt show map post year month slug controller gt posts action gt show 我会做url for为我工作 使
  • 打印列表的所有可能的子集

    我有一个元素列表 1 2 3 我需要获取该列表的超集 幂集 不重复元素 所以基本上我需要创建一个列表列表 如下所示 1 2 3 1 2 1 3 2 3 1 2 3 实现此目的的最佳方法是什么 在这种情况下简单 gt 效率 列表不会很大 最好
  • CMake交叉编译生成无效的链接器选项

    我使用 CMake 使用特定的工具链 nios2 linux gnu g exe Sourcery CodeBench Lite 2013 05 43 4 7 3 在 Linux 和 Windows 中进行编译 从 CMake 生成到链接器
  • numpy 数据类型中的 |、> 和 <

    这可能是一个非常愚蠢的问题 但我尝试用谷歌搜索关键字 例如less and greater signs in data type of numpy并没有找到参考 In the doc of numpy x np array 1 0 2 3
  • .NET DropDownList SelectedIndexChange 事件在 IE 10 中未触发

    在 IE 10 中 当下拉列表所选项目发生更改时 不会发生任何情况 它不会回发 除下拉列表外 所有其他控件均有效 当我切换到 IE 10 兼容模式时 它似乎可以工作 斯科特 汉塞尔曼 Scott Hanselman 在他的博客上解释了这一点
  • 更改打印机默认纸张尺寸

    我在打印机上定义了几种自定义纸张尺寸 打印机设置为默认值 我需要能够选择其中一种格式作为默认格式 编程 C 解决方案是理想的 但命令行解决方案也可以 现在 我可以获得打印机上定义的纸张尺寸 名称 尺寸 列表 并且可以找出哪一个是默认的 为了
  • HTA 的;使用其他浏览器托管?

    如果微软使用 IE 作为 HTA 本地主机的方法 那么我可以使用任何其他浏览器吗 你不能 有一个类似的 Mozilla 项目名为XUL跑者 但 HTA 仅适用于 Internet Explorer 这两种技术不兼容 为了澄清这一点 HTA可
  • Stream.Dispose 是否总是调用 Stream.Close (和 Stream.Flush)

    如果我有以下情况 StreamWriter MySW null try Stream MyStream new FileStream asdf txt MySW new StreamWriter MyStream MySW Write bl
  • 如何使用 Spark 创建用于文本分类的 TF-IDF?

    我有一个格式如下的 CSV 文件 product id1 product title1 product id2 product title2 product id3 product title3 product id4 product ti
  • -fopenmp 提供什么预处理器定义?

    我有一些可以使用 或不使用 OpenMP 运行的代码 这取决于用户如何设置 makefile 如果他们想使用 OpenMP 运行 那么他们只需添加 fopenmp to CFLAGS and CXXFLAGS 我正在尝试确定可以使用什么预处