GCC和linux的例子,
我想知道
提前谢谢你。
发布于 2015-10-18 11:53:20
如果C++库依赖于C库API。
对GNU C来说,是的。这样做可能是有益的,因为许多C标准库函数也是C++标准的一部分。
如果C库包含所有系统调用。
它并不“包括”单个调用,因为系统调用是由内核公开的。A库所做的是为系统调用提供一些包装器,但是不,不一定是围绕所有这些调用。有一些助手可以调用不提供包装器的syscalls。也许开始读这里:syscalls(2)。
如果C++库包含所有系统调用。
请参见上面的。
如果有任何系统库提供C/C++库以外的系统调用。(我相信posix库会提供一些posix线程API)
是的(在你的措辞中增加了“包装器”一词),你已经举了一个例子。注意,POSIX线程API不需要内核级线程,但它是在Linux上使用它们实现的。
发布于 2015-10-18 11:41:04
是的,GNU C++库与GNU库相链接。
$ 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)https://stackoverflow.com/questions/33197139
复制相似问题