gcc:如何定义"实现定义的"malloc(0)?

Kon*_*yak 0 c malloc gcc

C标准(例如C99)告诉malloc(0)返回"空指针或可以成功传递给free()的唯一指针".这两者中的哪一个是实现定义的.(这已被要求在计算器上多次,例如1,2,3,4).

我的问题是:海湾合作委员会如何定义它?

Die*_*Epp 5

海湾合作委员会根本没有定义它.GCC使用malloc()标准库提供的实现.在OS X上,这将是libSystem,在Linux上,这通常是glibc或eglibc等.这些库是开源的,因此您可以浏览源代码.