C++ libstdc&x2B+-doc只是忽略导入的c函数,c++;真的很垃圾吗?
C标准中的每个标题 库包含在C++中 不同环境下的标准库 名称,通过删除.h生成, 并在开头添加一个“c”,例如 示例“time.h”变为“ctime”。这个 这些标题之间的唯一区别 以及传统的C标准库 标题是指在可能的情况下 功能应放在 std::namespace(虽然很少 编译器实际上就是这样做的) 由于c函数被放入C++ libstdc&x2B+-doc只是忽略导入的c函数,c++;真的很垃圾吗?,c++,manual,libc,C++,Manual,Libc,C标准中的每个标题 库包含在C++中 不同环境下的标准库 名称,通过删除.h生成, 并在开头添加一个“c”,例如 示例“time.h”变为“ctime”。这个 这些标题之间的唯一区别 以及传统的C标准库 标题是指在可能的情况下 功能应放在 std::namespace(虽然很少 编译器实际上就是这样做的) 由于c函数被放入std::名称空间,我尝试了: man std::printf 但是得到: No manual entry for std:printf LBSTDC++-DOC < /
std::
名称空间,我尝试了:
man std::printf
但是得到:
No manual entry for std:printf
<什么原因?(我安装了代码> LBSTDC++-DOC < /Cord>,我对规范C++的东西没有问题,比如<代码> man STD::CUT)
更新
<> P.C++之所以是“虚”的原因至少包括:
<> LI> CUKY C++手册
如果C++文档的功能是相同的,并且已经被记录了(例如<代码> Prtff is),那么对C函数的记录就没有意义了。 < P> C标准库函数的行为超出了LISSTDC +开发人员的控制。它依赖于(在这个和大多数其他C++标准库实现)上的底层平台的LIBC实现。在Linux上,这很可能是glibc,在Windows、msvcrt等上
关键是,所有这些不同的库都提供了不同的和不一致的行为,这些行为必须记录在libstdc++文档中,而这是不可能(不,非常困难)完成和维护的。它也没有实际用途,因为此文档存在于其他地方。@Mat,我在帖子中犯了一个错误,因为
man std::cout
没有输出任何东西,man std::iostream
有输出。“代码”> STD::什么是CUT/CODE与“导入C函数”?@ MAT,我实际上有很多问题用C++手册,C++的人怎么使用<代码> man <代码>?抱歉把多个管道组合成一个。我不知道C++的人,但是我不使用C++页面的C++页面。谷歌有更好的搜索功能。IMO. man页面对于C/POSIX/Stases的东西来说是非常好的。@ JE Rog:大多数C++的人会使用C++引用,比如CPLUS PLUS,但是在某些情况下被认为提供不正确的文档。还有一点我认为不合理的是C++将C++标准库拆分为多个共享对象,如:代码> LBSTDC++< /COD>,<代码> LBM,和libgcc_
是GCC的运行时支持库之一。如果不需要任何共享对象,请使用-static
链接。如果您不想要libm
,那么这很难,您需要小心使用libstdc++
的哪些部分。使用-fno异常编译以去除libgcc_s
,但是当然,您会错过异常。不要太担心这些细节,反正你也无能为力……为什么简单的c应用程序不需要libm和libgcc_?C短列表仅包含LIB,而C++列表默认为3。一旦使用C标题“代码> <代码>中的任何内容,您将需要<代码> LBM。C没有例外libstdc++
本质上使用了很多数学函数。随着权力而来的是代码,你期待什么<代码>libstdc++
未在依赖平台的程序集中实现。。。它是用代码编写的,代码使用C代码,C代码在库中。如果链接到g++
,就不必担心这样指定库。它知道它们,并自动链接到它们。系统上的