c++ - C++ 库是否依赖于 C 库? (对于 GCC 和 linux 的情况)

标签 c++ c system

对于 GCC 和 linux 的情况,

我想知道

  • 如果 C++ 库依赖于 C 库 API。

  • 如果 C 库包含每个系统调用。

  • 如果 C++ 库包含每个系统调用。

  • 如果存在任何提供系统调用的系统库,而不是 C/C++ 库。 (我相信 pthread 库提供了一些 posix 线程 API)

提前谢谢你。

最佳答案

if C++ library depends on C library API.

对于 GNU C,是的。这样做可能会有好处,因为许多 C 标准库函数也是 C++ 标准的一部分。

if C library includes every system calls.

它不“包含”任何一个,因为系统调用是由内核公开的。 A C 库所做的是提供一些围绕系统调用的包装器,但不是,不一定围绕所有系统调用。有一些助手可以调用没有提供包装器的系统调用。也许从这里开始阅读:syscalls(2) .

if C++ library includes every system calls.

见上文。

if there exist any system library which provide system calls other than C/C++ library. (I believe pthread library prodives some posix thread API)

是的(在您的措辞中添加“包装器”一词)并且您已经命名了一个示例。请注意,POSIX 线程 API 不需要内核级线程,但它是在 Linux 上使用它们实现的。

关于c++ - C++ 库是否依赖于 C 库? (对于 GCC 和 linux 的情况),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33197139/

相关文章:

process - 监视进程是否已在 C 中终止

c - linux 终端动画 - 延迟打印 'frame' 的最佳方式(在 C 中)

python - Tornado 中断的系统调用

c++ - 在静态链接应用程序中使用函数 gethostbyname 的浮点异常

c++ - GCC函数填充值

c++ - std::shared_ptr 线程安全

php - 如何从 PHP 调用 MySQL 交互式客户端?

c++ - 网络摄像头预览和捕获到文件 (Windows)

C编程: IP header ID is negative

java - Windows 使用 Java 或 CMD 以编程方式更改系统音量