c - 哪个 header 在哪个平台上定义了 malloc()?

标签 c malloc header-files multiplatform

我想使用 malloc()在必须跨平台的 C 程序中。但是——它在哪里?我知道 C89 和 C99 语言标准要求它可以通过 <stdlib.h> 获得。 ,但是 - 有些平台没有它。我注意到在某些情况下它可能在 <malloc.h> 中,并阅读它可能位于 <malloc/malloc.h>。 .

我的问题:哪些平台有malloc()在哪些地点?具体是我提到的三个位置?

注意:请不要建议我使用跨平台开发框架,这与我的情况无关。

最佳答案

所有符合hosted C 实现都有malloc<stdlib.h> 独立实现不需要提供<stdlib.h>

下面列出了指向 C89/C90、C99 和 C11 标准的免费 PDF 文件的一些有用的直接链接:

C89/C90(ISO/IEC 9899:1990):https://www.pdf-archive.com/2014/10/02/ansi-iso-9899-1990-1/ansi-iso-9899-1990-1.pdf

C99(ISO/IEC 9899:1999):http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1256.pdf

C11(ISO/IEC 9899:2011):http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1570.pdf

C17/18(ISO/IEC 9899:2018)https://web.archive.org/web/20181230041359if_/http://www.open-std.org/jtc1/sc22/wg14/www/abq/c17_updated_proposed_fdis.pdf

关于c - 哪个 header 在哪个平台上定义了 malloc()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54629644/

相关文章:

c - 如何从 C 语言的文件中读取行?

objective-c - 应将各种变量和方法类型放在 header 中的位置

c - 分配失败时释放多维数组

c - 在 C 中,实现头文件的最低要求是什么?

c++ - 结构类型 "does not provide a subscript operator"

c - 自由(): invalid pointer when freeing a 2d pointer

c++ - 关闭 GTK 窗口

java - node.js 如何比 c 和 java 更快?基准比较 node.js、c、java 和 python

c - 如何使用 C 套接字程序在报告中显示客户端的 IP 地址?

c - 为什么在我第一次在代码中插入项目后,我的代码中出现段错误