标签: c gcc malloc
C标准(例如C99)告诉malloc(0)返回"空指针或可以成功传递给free()"的唯一指针。这两者中的哪一个是实现定义。 (已在StackOverflow上多次询问此问题,例如1,2,3,4。)
malloc(0)
我的问题是:GCC如何定义它?
答案 0 :(得分:5)
GCC根本没有定义它。 GCC使用标准库提供的malloc()实现。在OS X上,这将是libSystem,在Linux上,这通常是glibc或eglibc等。这些库是开源的,因此您可以浏览源代码。
malloc()