铛<built-in>头文件在哪里?

Aplet123

我正在研究一些C内部构件,并且从clang的stddef.h(位于中/usr/lib/llvm-11/lib/clang/11.0.0/include/找到了以下代码行

typedef __WCHAR_TYPE__ wchar_t;

这与我在gcc stddef.h(位于/usr/lib/gcc/x86_64-pc-linux-gnu/10.0.1/include/)中发现的不同

#ifndef __WCHAR_TYPE__    
#define __WCHAR_TYPE__ int    
#endif    
#ifndef __cplusplus    
typedef __WCHAR_TYPE__ wchar_t;    
#endif

在gcc中stddef.h__WCHAR_TYPE__明确定义为int,但在clang中stddef.h__WCHAR_TYPE__除了该行之外,没有任何地方提及因此,我决定自己定义宏,以便找出宏的定义位置。我用clang编译了以下文件:

#define __WCHAR_TYPE__ x

而且,我收到以下警告:

file.c:1:9: warning: '__WCHAR_TYPE__' macro redefined [-Wmacro-redefined]
#define __WCHAR_TYPE__ x
        ^
<built-in>:85:9: note: previous definition is here
#define __WCHAR_TYPE__ int

似乎存在某种定义__WCHAR_TYPE__的“内置”标头,并且从提供行号的事实来看,该标头似乎是实际文件。但是,我递归地查找了#define __WCHAR_TYPE__ intin,/usr并且在gcc的头文件之外找不到任何东西。因此,我的问题是,此“内置”头文件是否为实际文件,如果是,我在哪里可以找到它?

内特·艾德雷奇

这不是实际文件;clang内置了许多预定义的宏。

您可以通过在clang -dM -E foo.c哪里找到foo.c任何文件(甚至可以为空)来查看所有这些宏我看到的清单中

#define __WCHAR_TYPE__ int

在clang源代码中,所有操作都在中完成clang/lib/Frontend/InitPreprocessor.cpp

gcc实际上也有它(run gcc -dM -E foo.cclang并且gcc大多支持相同的命令行选项)。#define<stddef.h>可能只是有作为备份。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在哪里包含头文件?

来自分类Dev

GCC的头文件在哪里?

来自分类Dev

GCC的头文件在哪里?

来自分类Dev

铛:错误:没有这样的文件或目录:'_REENTRANT'

来自分类Dev

Swift iOS生成期间出现“铛:错误:生成多个输出文件时无法指定-o”

来自分类Dev

在OSX 10.9上安装Xcode-铛:错误:无输入文件

来自分类Dev

使铛忽略空通配符

来自分类Dev

头文件如何知道函数原型的实现在哪里?

来自分类Dev

Mac OS X Mavericks上的libc ++头文件在哪里?

来自分类Dev

头文件的绝对路径在哪里

来自分类Dev

英特尔OpenCL SDK-头文件在哪里?

来自分类Dev

在哪里可以找到Foundation Framework头文件?

来自分类Dev

CLion IDE在哪里寻找头文件?

来自分类Dev

包含的C ++ / C头文件的实现在哪里?

来自分类Dev

我应该把 Apache 头文件放在哪里?

来自分类Dev

pip install getch:铛错误

来自分类Dev

如何告诉VSCode在哪里可以找到头文件和源文件

来自分类Dev

在哪里以及如何定义成员变量?在头文件或实现文件中?

来自分类Dev

Mac OS X 10.10中包含的libiodbc的头文件在哪里?

来自分类Dev

<type_traits>头文件中的某些实现在哪里?

来自分类Dev

在哪里可以在线找到C ++库头文件的源代码?

来自分类Dev

<type_traits>头文件中的某些实现在哪里?

来自分类Dev

在哪里放置C ++常数?在分隔/共享的头文件(main.h)中?

来自分类Dev

在 C++ 中创建类时将标准库头文件放在哪里?

来自分类Dev

我在哪里可以找到 GL_FRAMEBUFFER_EXT 的头文件?

来自分类Dev

铛不知道Doxygens retval标签

来自分类Dev

Visual Studio 2015更新1,铛错误

来自分类Dev

铛的优化被打破了吗?

来自分类Dev

铛坚持编译未调用的函数

Related 相关文章

热门标签

归档