0

size_t当我在 Eclipse 中打开声明时,我stddef.h从 GCC 中获得以下信息: typedef __SIZE_TYPE__ size_t;

我知道这__SIZE_TYPE__没有在任何头文件中定义,但编译器知道。

但是,Eclipse CDT 如何理解它__SIZE_TYPE__并且size_t是整数类型,所以它可以进行代码分析等?它内置在 CDT 中吗?

4

2 回答 2

4

我终于弄明白了。

__SIZE_TYPE__可以在 Project Properties -> C/C++ General -> Preprocessor Include Paths, Macros etc. -> Entries -> CDT GCC Built in Compiler Settings 中找到,它说__SIZE_TYPE__ = unsigned int.

查看 Providers 选项卡,CDT 通过运行从 GCC 中提取列表${COMMAND} -E -P -v -dD ${INPUTS},其中${COMMAND}gcc${INPUTS}是一个空的 C 或 C++ 文件。

-E仅预处理-P没有线标记-v详细-dD转储所有宏定义。

GCC 输出各种内部定义,包括#define __SIZE_TYPE__ unsigned int

于 2013-10-19T21:23:47.617 回答
0

Eclipse 不明白__SIZE_TYPE__——那是 GCC 的事情。例如:

http://gcc.gnu.org/onlinedocs/gccint/Type-Layout.html

http://gcc.gnu.org/onlinedocs/gcc-3.1/gccint/Driver.html

这里有一个更完整的解释:

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

于 2013-10-16T17:28:18.720 回答