【问题标题】:Linux equivalent header for synch.hsynch.h 的 Linux 等效标头
【发布时间】:2012-05-17 13:51:37
【问题描述】:

我有一个包含#include<synch.h> 的C 代码,该代码在solaris 中编译成功,但在Linux 中我发现缺少标头。 正如一些链接中所建议的那样,可以使用"sync.h" 代替吗? 或者 Linux 中是否有其他等效的 synch.h 头文件?

【问题讨论】:

  • 了解sync.h 为您做了什么会很有用.. 它是另一个项目的一部分吗?它是操作系统头吗?
  • 嗨 Spaceghost,它是一个 OS 头文件。
  • 这提供了什么?仅根据名称很难确定是否存在等价物。

标签: linux shared-libraries header-files


【解决方案1】:

Solaris 中的 synch.h 标头用于 Solaris 线程。除此之外,它还提供信号量和互斥量的声明。您可以使用这个库 (http://sctl.sourceforge.net/sctl_v1.1_rn.html) 在 Linux 上为您提供与 Solaris 兼容的线程,或者,一个更好的主意,重新编写代码以使用 POSIX 线程。

【讨论】:

  • 添加了 '#include ' 并删除了 '#include '
  • 可能得到“未定义的对符号 'pthread_create@@GLIBC_XXX 的引用”,通过将 '-lpthread' 作为编译器标志来解决。 --> stackoverflow.com/q/34143265/8960744
【解决方案2】:

我们不能确定,但​​一种可能的可能性是这是synch.h,它是经常用于教育环境的NACHOS, 的一部分。前往 NACHOS 项目页面并阅读它,然后决定您是否认为这可能是正确的;如果是这样,您可以免费下载并安装它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-11-29
    • 2011-12-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-12
    • 1970-01-01
    • 2013-09-06
    相关资源
    最近更新 更多