gpt4 book ai didi

c++ - C++ 标准库是否必须用 C 或汇编语言编写?

转载 作者:太空狗 更新时间:2023-10-29 23:37:49 24 4
gpt4 key购买 nike

是否可以仅使用C++编写完整的C++标准库(当然包括STL,但自包含,只有内部依赖)?我会想象容器和 <cstdlib>功能在 char 方面是可行的s、位移位、for 循环和其他字节花哨的东西,但像异常和可能的 std::cout 之类的东西和 std::cin对我来说似乎很难没有依赖性开始。假设有一组可用的操作系统功能,它们完全在汇编中实现(以避免任何 C 污染)。

我假设编译器理解从类和虚函数到模板和函数重载的所有内容,这些都是语言级别的东西,恕我直言,在库中没有位置。

如果这个问题之前有人问过或者是一个愚蠢的问题,请原谅我。我不是想在这里开始一场 C<->C++ war ,只是想弄清楚实现诸如标准库这样的野兽的局限性......

谢谢!

最佳答案

由于几乎所有用 C 编写的东西都可以很容易地用 C++ 重写,所以您会问是否需要汇编代码,而答案通常是否定的。

除非我们谈论的是嵌入式编程,否则操作系统具有所有必要的文件和 I/O 功能,可通过系统调用使用,通常(现在)采用 C 格式。库需要调用它们,可能是通过 extern "C"{ ... } 声明。操作系统函数不被视为 C++ 库的一部分,并且通常与 C++ 标准中定义的任何内容都不完全匹配。

要实现 C++ 标准库,您需要熟悉该语言本身,了解您将要使用的操作系统调用,并了解您将要使用的算法。到那时,编写软件就成了一件相对简单的事情。

关于c++ - C++ 标准库是否必须用 C 或汇编语言编写?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4367599/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com