对于GCC和Linux的情况下,C++库是否依赖于C库? (对于GCC和Linux的情况下)
不知
如果C++库依赖于C库API。
如果C库包含每个系统调用。
如果C++库包含每个系统调用。
如果存在任何提供C/C++库以外的系统调用的系统库。 (我相信pthread库prodives一些POSIX线程API)
在此先感谢您。
对于GCC和Linux的情况下,C++库是否依赖于C库? (对于GCC和Linux的情况下)
不知
如果C++库依赖于C库API。
如果C库包含每个系统调用。
如果C++库包含每个系统调用。
如果存在任何提供C/C++库以外的系统调用的系统库。 (我相信pthread库prodives一些POSIX线程API)
在此先感谢您。
如果C++库依赖于C库API。对于GNU C,
是的。这样做可能是有益的,因为许多C标准库函数也是C++标准的一部分。
如果C库包含每个系统调用。
它并不“包含”一个,因为系统调用是内核暴露的东西。 C库所做的是提供一些围绕系统调用的包装,但不是,不一定围绕它们。有助手可以调用没有提供包装的系统调用。也许从这里开始阅读:syscalls(2)
。
如果C++库包含每个系统调用。
参见上文。
如果存在任何提供C/C++库以外的系统调用的系统库。 (我相信pthread库prodives一些POSIX线程API)
是的(添加单词“包装”到您的措辞),你已经命名为一个例子。请注意,POSIX线程API不需要需要内核级别的线程,但它在Linux上使用它们实现。
是的,GNU C++库与GNU C库链接。
$ ldd /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.20
linux-vdso.so.1 => (0x00007ffc1b5bc000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fb25239c000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fb251fd2000)
/lib64/ld-linux-x86-64.so.2 (0x00007fb2529b3000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fb251dbc000)
取决于编译器的实现。 –
感谢您的评论!然后想要为gcc和linux指定这个问题。 – Jeonghum
@Journeyer然后,您应该编辑您的问题以包含该要求。 – Galik