0

我正在从事一个遵循 DO-178C C 级的项目。计划使用 C 编程语言。C 语言中的库引起了很多关注。

数学库是 Microsoft Visual Studio 的本机?所有的 c 编译器都必须实现数学库吗?如何查看 Microsoft C 编译器实现的内容?是否遵循标准?

谢谢

4

1 回答 1

0

当您提到“数学库”时,您到底是什么意思?您是指在math.h头文件中定义和/或声明的标准 C 库的那些部分吗?

如果是这样,那么:

1) C 库通常由操作系统提供,用于运行时动态链接。编译器实现通常提供任何必要的库和头文件供开发人员使用。

2) 通常编译器实现会提供所有的标准库和头文件。在 Windows 上,某些编译器可能会设置为使用操作系统提供的标准库,而不是提供自己的实现。Visual Studio 是由与操作系统相同的供应商提供的,所以从这个角度来看,它们几乎都是一样的。

3) 通过参考微软提供的文档

4) 什么遵循标准?“Microsoft Visual Studio”C/C++ 编译器?与几乎所有编译器一样,默认模式并不完全符合任何标准(编译器总是提供“特性”和扩展),但有一种方法可以告诉编译器您希望它符合 C 标准。“数学图书馆”?编译器作为一个整体符合,数学库也符合。

当然,请注意,Microsoft Visual Studio 的 C 编译器遵循的 C 标准(在一致模式下运行时)是 ISO/IES 9899:1989,通常称为 C89。该标准已经过时十多年,其后续版本已经过时。(ISO/IEC 9899:1989 于 1999 年被 ISO/IEC 9899:1999(称为“C99”)取代,而 ISO/IEC 9899:1999 本身在 2011 年被 ISO/IEC 9899:2011 取代,称为“C11”。)

于 2013-07-03T21:52:22.163 回答