C 标准(例如 C99)告诉 malloc(0)
返回“可以成功传递给 free() 的空指针或唯一指针”。两者中的哪一个是实现定义的。 (这已在 StackOverflow 上被多次询问,例如 1、2、3、4。)
我的问题是:GCC 是如何定义它的?
最佳答案
GCC 根本没有定义它。 GCC 使用标准库提供的malloc()
实现。在 OS X 上,这将是 libSystem,在 Linux 上,这通常是 glibc 或 eglibc 等。这些库是开源的,因此您可以浏览源代码。
关于c - gcc: "implementation-defined"malloc(0) 是如何定义的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27947777/