Glibc - ucontext.h 中出现错误,但仅适用于 -std=c11

2024-01-19

我有这个最小的 helloworld,扩展包括ucontext.h:

#include <ucontext.h>
#include <stdio.h>

int main(int argc, char** argv) {
  printf ("hello world!\n");
  return 0;
}

它使用 gcc-4.9 进行编译而不发出警告(gcc -c hw.c -Wall).

但如果我切换到 c11 标准(gcc -std=c11 -c hw.c -Wall),我收到以下错误:

$ gcc -std=c11 -c hw.c -Wall
In file included from /usr/include/ucontext.h:26:0,
                 from hw.c:1:
/usr/include/x86_64-linux-gnu/sys/ucontext.h:137:5: error: unknown type name ‘stack_t’
     stack_t uc_stack;
     ^

我的第一个想法是 glibc 不支持 c11。谷歌搜索并没有透露有用的信息。这是什么情况?

(我使用 glibc-2.19 和 gcc-4.9。它是 debian jessie,amd64。)


-std=c11是 C11 标准兼容模式。<ucontext.h>严格来说不是 C11 的一部分(参见 Stas 的回答)。

要使用这些标头,请使用扩展模式-std=gnu11或根据您打算支持的平台定义适当的宏(_POSIX_C_SOURCE, _BSD_SOURCE, _XOPEN_SOURCE, _GNU_SOURCE或者也许是其他人)。

请参阅此页面了解更多信息 http://www.gnu.org/software/libc/manual/html_node/Feature-Test-Macros.html关于启用功能的宏。

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

Glibc - ucontext.h 中出现错误,但仅适用于 -std=c11 的相关文章

随机推荐

  • 在多个音乐文件上运行命令行

    我正在使用一个名为 metaflac 的 CLI 程序 http flac sourceforge net documentation tools metaflac html http flac sourceforge net docume
  • 适用于 Android 的 Google 地图我的位置自定义按钮

    如何更改谷歌地图我的位置默认按钮 我设置了位置启用并在地图上绘制标准图像来查找位置 是否可以更改默认图像 请参阅下面的自定义按钮 xml 文件
  • dart 中的逆映射

    假设我在 dart 中有以下地图 Map f 0 0 1 1 2 0 3 1 4 0 5 1 dart中有没有什么东西可以让你轻松使用地图的逆图f 例如 逆映射f 0 用数学符号表示 应该等于集合0 2 4在这种情况下 如果值是唯一的 那么
  • 如何在ios7中以编程方式将地图颜色从白天更改为晚上

    我正在开发一个适用于 iOS 7 的应用程序 并尝试将地图从白天更改为夜间模式 将夜间模式更改为白天模式 我在 iOS 7 文档中没有找到任何相关的 API 来执行此操作 这不是内置功能MKMapKit所以你所要求的如果不自己做是不可能的
  • Jupyter Notebook 不允许我在多行中输入 MySQL 查询

    如上所述 我无法在 Jupyter 中多行输入查询 这很烦人 因为编写和读取我自己的查询比较困难 有没有办法切换多行和单行输入 我已经用谷歌搜索了好几次 但文档似乎没有多大帮助 PS 找到了输入 sql 而不是 sql 的愚蠢解决方案 使用
  • 如何在 GLSL / WebGL 中将 1 个 32 位整数打包为 4 个 8 位整数?

    我正在寻求并行化一些复杂的数学 而 WebGL 看起来是实现这一目标的完美方法 问题是 您只能从纹理中读取 8 位整数 理想情况下 我希望从纹理中获取 32 位数字 我的想法是使用 4 个颜色通道来获得每像素 32 位 而不是 4 乘以 8
  • 为什么 DateDiff 返回日期而不是分钟数?

    我需要找出两个字符串之间存在多少分钟 h1 TimeValue 06 00 00 h2 TimeValue 22 00 00 res DateDiff n h1 h2 然而 res 17 08 1902 而预期结果是 960 Sub cal
  • 让 AdView 实际显示

    我的 google adview 有问题 它没有显示 我挖了一段时间 发现人们对填充有问题 所以我去掉了填充 但仍然没有运气 这是我的相关清单数据
  • 如何将div内的img向右对齐?

    我想知道如何将div内的图像对齐到右侧 可以给周边div a text align right 这将在图像左侧留下空白区域 图像将占据整行 如果您希望内容显示在图像的左侧 请使用 float right 在图像上 然而 周边div然后将需要
  • Viewbag.Title 错误:找不到编译动态表达式所需的一种或多种类型。您是否缺少参考资料?

    我有一个 ASP NET MVC 5 Web 应用程序 在每个 cshtml 视图文件中 我收到以下错误Viewbag 找不到编译动态表达式所需的一种或多种类型 您是否缺少参考资料 我引用了 Microsoft CSharp dll 和 S
  • 如何使用 PyQt5 在 qml 中设置值?

    我想从 PyQt5 将值写入 qml 该值动态变化 例如 矩形文本值是从 Pyqt5 归档的 Rectangle width 75 height 75 text values from PyQt5 如果你想从 python 修改 QML 属
  • jQuery 醉酒插件。对焦触发不起作用

    我一直在通过 jQuery 工具提示插件进行过滤 并发现有点醉意 它由 GitHub 使用 这是我大部分决定的基础 我真的很喜欢它 而且它真的很容易使用 但我有一个问题 我需要工具提示在焦点上淡入 而不是悬停 目前它可以工作 但只能在悬停时
  • primefaces selectonemenu 更改事件不适用于空值

    我有一个包含一些项目的选择菜单 还有一个空项目用于显示 请选择一个 我的目标是当我选择其中之一时查询一些数据 如果我选择 请选择一个 则做另一件事 但最终 更改事件会针对正常值被触发 但如果我选择 请选择一个 项目 则不会触发它 感谢您的帮
  • HTML 中的上标文本

    是否可以在值字段中使用上标文本
  • SVN Changelist 与 Git 等效吗?

    只是好奇 Git 是否有类似 Subversions Changelist 功能 我发现它在运行中使用非常方便 我知道我可以运行类似的东西 cat changelistfileimade xargs git update 但我很好奇是否也有
  • android 内存不足:没有更多的后台进程?需要帮忙

    我面临内存不足的问题 Low memory no more background process这是场景 我正在使用一个从字符串数组获取数据的列表 它有一个自定义背景 单击项目 列表会获取另一个字符串数组以显示为第二级或第三级 数据库中写入
  • 计算一组集合之间的相似度

    假设有4组 s1 1 2 3 4 s2 2 3 4 s3 2 3 4 5 s4 1 3 4 5 有没有一个标准的度量来表示这组4组的相似程度 感谢您对Jaccard方法的建议 然而 这似乎是成对的 如何计算整组集合的相似度 成对地 你可以计
  • Oracle 11 - sqlplus - 出错时回滚整个脚本 - 如何?

    如何使 Oracle 11g 在包含的 SQL 文件中出现任何错误时回滚整个事务 文件内容是 set autocommit off whenever SQLERROR EXIT ROLLBACK insert into a values 1
  • 严格来说,作用域分配 <<- 分配给父环境还是全局环境?

    往往是父母的环境is全球环境 但有时并非如此 例如在函数内的函数中 或者在错误函数中tryCatch 严格来说 确实 lt lt 分配给全局环境 还是简单地分配给父环境 试试看 env new env env2 new env parent
  • Glibc - ucontext.h 中出现错误,但仅适用于 -std=c11

    我有这个最小的 helloworld 扩展包括ucontext h include