我想使用 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/