Eclipse CDT如何理解__SIZE_TYPE__?

时间:2013-10-16 17:26:00

标签: eclipse-cdt codan

当我在Eclipse中打开size_t的声明时,我从GCC获得stddef.h行: typedef __SIZE_TYPE__ size_t;

我知道__SIZE_TYPE__未在任何头文件中定义,但编译器已知。

但是,Eclipse CDT如何理解__SIZE_TYPE__size_t是整数类型,所以它可以进行代码分析等?它是否内置于CDT中?

2 个答案:

答案 0 :(得分:5)

我终于明白了。

__SIZE_TYPE__可在项目属性中找到 - > C / C ++一般 - >预处理器包括路径,宏等 - >参赛作品 - > CDT GCC内置编译器设置,其中显示__SIZE_TYPE__ = unsigned int.

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

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

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

答案 1 :(得分: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

以下是一个更完整的解释:

Where is c++ size_t defined in linux