gpt4 book ai didi

c++ - c++ size_t在linux中定义在哪里

转载 作者:IT老高 更新时间:2023-10-28 22:33:24 28 4
gpt4 key购买 nike

现在我正在谈论程序员使用 typedef 关键字定义的新类型。只要我的学生习惯了 size_t 类型(例如通过使用函数 length()),我不得不让他们稍微努力“相信”它是一个整数类型,我认为它会很棒向他们展示这种类型的定义位置。

所以,我在 Ubuntu 机器中的/usr/include 中做了很多 grep,我看到 size_t 是 size_type 的重新定义,而 size_type 又是 metadata_type 的重新定义,这就是在这个目录下结束。没有找到最终的“typedef unsigned int metadata_type;”。

在/usr/src 中,我发现了另一个名为 yy_size_t 的先前类型,...

但是,无论如何我都无法到达链条的尽头。

有谁知道在哪里可以找到最终定义以检查它是否是无符号整数(或类似的)?我可能会错过我盒子里的开发包吗?在这种情况下,为什么我可以使用 size_t 类型编译程序?

最佳答案

您可以尝试使用 C 预处理器 (cpp) 手动扩展标准包含文件并检查其输出:

$ echo '#include <stdlib.h>' | cpp -I/usr/include - > stdlib-expanded.c

您会发现 cpp 的输出甚至包含标记,以指示 stdlib-expanded.c 中的代码已包含在哪些文件中。

关于c++ - c++ size_t在linux中定义在哪里,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12490622/

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