gpt4 book ai didi

c - glibc - #define void

转载 作者:太空狗 更新时间:2023-10-29 17:00:43 24 4
gpt4 key购买 nike

我开始研究 glibc ( GNU Libc )了解它是如何写的。在malloc.c中,我找到一段代码如下:

#ifndef void
#define void void
#endif

谁能给我解释一下这是什么意思? void 不是总是定义的吗?

谢谢

最佳答案

查看the git history ,它是这样的:

/*
Void_t* is the pointer type that malloc should say it returns
*/

#ifndef Void_t
#if (__STD_C || defined(WIN32))
#define Void_t void
#else
#define Void_t char
#endif
#endif /*Void_t*/

这是针对历史 [C] 的解决方法,它没有 void 并且 malloc() 返回 char * 而不是 无效。代码在 2011 年被 Ulrich Drepper 删除。提交似乎不是由脚本或任何自动生成的,所以他一定有这样定义的意图。

提交消息没有说明任何关于 void 的内容:

Simplify malloc code

Remove all kinds of unused configuration options and dead code.

关于c - glibc - #define void,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11980125/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com