libstdc++-doc只是忽略了导入的c函数,c++真的很垃圾

libstdc++-doc simply ignores imported c functions,c++ really junky?

本文关键字:c++ 函数 真的 导入 libstdc++-doc      更新时间:2023-10-16

C标准的每个标题库包含在C中++另一个下的标准库名称,通过删除.h,并在开头添加一个"c",用于例如"time.h"变为"ctime"。这个这些标头之间的唯一区别和传统的C标准库headers是指在可能的情况下函数应放置在std::命名空间(尽管很少编译器实际上是这样做的)。

由于c函数被放入std::名称空间,我尝试了:

man std::printf

但得到:

No manual entry for std:printf

有什么原因吗?(我已经安装了libstdc++-doc,我对像man std::cout这样的规范c++东西没有问题)

更新

说c++是垃圾的原因至少包括:

  1. junky c++手册
  2. 一个空的c++程序需要libstdc++libmlibgcc_s,而c程序只需要libc

如果标准C中的C++函数是相同的并且已经被文档化了(就像printf一样),那么对它们进行文档化是没有意义的。

C标准库函数的行为超出了libstdc++开发人员的控制范围。它(在这个和大多数其他C++标准库实现中)依赖于底层平台的Libc实现。在Linux上,这很可能是glibc,在Windows、msvcrt等上…

关键是,所有这些不同的库都提供了不同且不一致的行为,这些行为必须记录在libstdc++文档中,而这是不可能(不,非常难)做到和维护的。它也没有任何实际用途,因为本文件存在于其他地方。