在Linux的哪里可以找到互斥,未来等的源代码?

时间:2018-11-04 19:18:29

标签: c++ glibc

可以在/usr/include/c++/4.8.5/bits中找到容器代码。其他stl库的源代码如何,例如互斥,将来等?

1 个答案:

答案 0 :(得分:0)

glibc在Linux上使用NPTL,并且互斥锁实现可分为多个目录:

  • nptlpthread_mutex_*.c源文件中的高级POSIX线程互斥体。
  • sysdeps/nptllowlevellock*.h中的futex包装器的文档和存根。
  • sysdeps/unix/sysv/linuxfutex中的lowlevellock-futex.h个系统调用包装程序。
  • 特定于体系结构的子目录,例如sysdeps/unix/sysv/linux/x86_64:内联汇编程序函数,用于lowlevellock.hlowlevellock.S中的低级锁定操作。

libstdc++(GCC中的C ++标准库实现)中的大多数同步类型本身都是glibc的libpthread库组件的包装器(当然,仅在GNU / Linux上)。