当前位置:  开发笔记 > 编程语言 > 正文

C/C++运行时库和C/C++标准库之间的区别

如何解决《C/C++运行时库和C/C++标准库之间的区别》经验,为你挑选了3个好方法。

你能告诉我他们之间的区别吗?

顺便问一下,有什么叫C++库或C库吗?



1> Johannes Sch..:

C++ Standard LibraryC Standard Library是在C++和C标准定义被提供给C++,并使用C程序中的库.这是这些词的常见含义,我从未见过它的另一个定义,C++本身将其定义为:

C++标准库提供了一种可扩展的框架,并包含部件:语言支持,诊断,一般实用,字符串,语言环境,容器,迭代算法,数字,和输入/输出.C++语言的某些部分需要语言支持组件,例如内存分配(5.3.4,5.3.5)和异常处理(第15节).

C++ Runtime LibraryC Runtime Library没有如此平等地使用.有人说运行时库是程序在运行时使用的部分(比如实现std::type_info的代码或支持信号处理程序的代码),而不是它们仅在编译时使用的东西(如宏定义).其他人说运行时库是在加载时动态链接到程序的库,而不是在编译时静态链接,尽管这种用法很少.共享库或动态链接库是更好的术语.

C++ Library并且C Library是非常广泛的术语.它们只是意味着库是用C++和/或C编写的.

以上不仅限于C++和/或C.还有python库,还有一个python 标准库.



2> Binabik..:

根据https://en.wikibooks.org/wiki/C_Programming/Standard_libraries#Common_support_libraries,标准库和运行时库之间存在非常重要的区别.虽然标准库定义了程序员可以(始终)可用的函数(但不是编程语言的(初始)规范的一部分,至少在C中),运行时库包含实际运行程序所必需的函数.给定平台(并且是特定于平台/特定于供应商的).

例如,printf()是C标准库的一部分,而程序启动(程序员在许多情况下是不可见的)在运行时库中实现.因此,例如,您可以编写一个不使用标准库的C程序,但是您始终需要运行时库,否则您的程序将无法执行.但说实话,这没用,因为没有标准库的C程序无法进行输入/输出,所以它无法告诉你一些令人印象深刻的结果.

是什么导致混淆这两者之间的区别是:

    在每种情况下,都需要/使用运行时库,并且(几乎)所有情况下都使用标准库.此外,标准库可能依赖于运行时库,并且最有可能由同一供应商开发.因此,区别不明确,在大多数情况下不是必要的.

    Microsoft已将C标准库和C运行时库放在一起,只需将其称为C运行时库.



3> Mehrdad Afsh..:

C++标准库是一个术语,用于定义最低符合标准的编译器/工具集应具有的标准库.C++运行时库是随工具集一起提供的库,用于提供标准库功能,可能还有编译器可能需要的一些内部功能.实际上,这些术语通常是可以互换的.

推荐阅读
贴进你的心聆听你的世界
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有