标准库头文件函数原型的实现是如何用 c++ 编写的?
How are implementations of standard library header files function prototypes are written in c++?
我知道C++有一个标准库,它由由函数原型组成的头文件组成,但它们的实现在哪里?我的意思是我想看看cout << "hey";
是如何运作的。内置函数的实现是如何编写的?在组装中?
只要遵守规范,就可以以任何方式减轻实现C++标准库的负担。换句话说,如果您#include
必要的标头,那么您将获得所需的函数。
其中大部分确实是用C++编写的,如果您的编译器工具集附带标准库源代码,则可以使用逐行调试器查看代码。读取标准库代码的一个问题是,任何变量都需要是程序员不能#define
为宏的变量。这就是为什么变量名称以__
或_
为前缀,后跟大写字母的原因。
其中一些C++很可能具有不可移植的构造,因为C++标准库实现通常与编译器相关联。确实有些功能(例如std::malloc
) 不能用标准C++书写!
库的某些组件很可能是用汇编程序编写的(例如std::strlen
),甚至可能硬编码到编译器本身中。
相关文章:
- 如何用数字处理log(0)
- 如何用转义符替换字符串中的所有特殊字符
- 如何用参数值调用函数(仅在运行时已知)
- 如何用RISC-V GD32VF103CBT6开发板卸载精确的ADC过采样
- 如何用for循环在c++中生成单词三角形
- 如何用C++编写BFS函数
- 当对话框被接受时,如何用参数调用槽
- 我不明白这段代码是如何对这个pythonlist()进行排序的,也不明白如何用C++中的向量来重现它
- 如何用前导零填充数组?
- 如何用 2 个对象过度引导运算符
- 如何用C / C++编写钢琴程序
- C++:如何用单个命令替换复杂的迭代?
- 如何用文本填充 std::vector<int64_t>
- 如何用 C 编译,但如果使用任何C++,则会抛出错误?
- 如何用 gcc 或 clang 模仿_mm256_loadu_epi32?
- 如何用正确的路径建立提升
- 如何用字符串填充数组?
- 如何用 c++ 编写单元测试?
- 如何用C++写一个基本的来回对话
- 如何用数学方式组合数字?