当我在Eclipse中打开size_t
的声明时,我从GCC获得stddef.h
行:
typedef __SIZE_TYPE__ size_t;
我知道__SIZE_TYPE__
未在任何头文件中定义,但编译器已知。
但是,Eclipse CDT如何理解__SIZE_TYPE__
和size_t
是整数类型,所以它可以进行代码分析等?它是否内置于CDT中?
答案 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
以下是一个更完整的解释: