C和C ++标准库用什么语言编写?他们的源代码在哪里?

| 我一直想知道C / C ++运行时和标准库是用哪种语言编写的。起初,我认为这是一种随意的C / C ++语言,但是为了能够与机器对话,我怀疑C / C ++是否足够。因此,我认为它可能是汇编语言。如果它是C / C ++或asm语言,那么为什么我真的看不到源代码在飞来飞去?也许我缺乏搜索技能...     
已邀请:
        它们通常以其宿主语言编写,并与操作系统API互操作以获得无法从本地获得的东西。许多功能都是用纯语言编写的,例如,C ++标准库的容器和算法部分几乎必须用C ++编写。实际上,几乎所有的C ++标准库都必须用C ++编写,因为它是模板化的。我不知道您为什么找不到任何源-任何开发人员都可以使用Microsoft CRT源,我想,我当然已经在此处发布CRT源时看到了问题,并且GNU libc ++是开源的, 我相当确定。     
        所有的运行时和标准库都用C / C ++编写。大多数供应商都提供源代码。     
        它们通常是用C编写的,并带有一些汇编。VisualStudio附带了很大一部分CRT(C运行时)源代码(如果不是全部)。 Linux glibc显然是开源的: http://ftp.gnu.org/gnu/glibc/     
        大多数运行时都是用C或C ++编写的,但是有一个重要的例外,那就是调用内核的代码。在大多数操作系统上,这是通过使用手臂上的特殊指令(
SWI
SVC
)生成软件中断来完成的。在C或C ++中没有与此等效的功能,因此将使用汇编器。汇编程序通常还用于实现高度优化的
memcpy
memmove
memcmp
和其他类似功能。     

要回复问题请先登录注册