腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
圈层
工具
文章/答案/技术大牛
搜索
搜索
关闭
发布
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
1
回答
确定
clang
中
VarDecl
的
宏
扩展
、
、
、
我是C++
的
初学者,尝试用
clang
编写Objective-C代码。我知道
宏
是在用AST访问节点和属性之前先展开
的
。 我有一个名为NIL_CHECK
的
宏
,它在许多文件中使用。在执行lint时,我想跳过展开/使用此
宏
的
行
的
变量声明。例如,本例
中
的
第一行应该是linted,而第二行需要跳过,这样在进行
宏
扩展
时就不会抛出误报: // Mus
浏览 30
提问于2020-12-03
得票数 1
2
回答
如何在
Clang
中
从CallExpr
中
获取函数指针
的
参数?
、
、
、
、
我正在尝试分析带有函数调用
的
C源代码。我可以使用下面的源代码分析正常
的
函数调用,以获得它们
的
参数,其中ce是一个CallExpr对象:我也尝试过使用isFunctionPointerType(),但这返回了false。下面是一段导致段错误
的
源代码:#include <stdlib.h> i
浏览 0
提问于2014-08-18
得票数 4
2
回答
检查cpp文件
中
是否使用了变量
、
、
我希望让我
的
程序(main.cpp)读取cpp文件(code.cpp),并
确定
是否使用了某些变量。这可以很容易地通过读取文件和搜索子字符串来完成,但是这有一些不想要
的
缺点,如下所述。exists. a3 does not exist return 0;main.cpp
的
内容= std::string::npos) cout << &q
浏览 2
提问于2018-07-29
得票数 1
回答已采纳
1
回答
用
Clang
查找嵌套循环
、
、
、
、
我试图使用
clang
StatementMatcher在嵌套循环中查找变量 for(j=0;j<10;j++)我不
确定
它是否能够用单个匹配器处理任何级别的嵌套循环现在,我可以找到匹配器下面的循环,它不能处理多个嵌套循环和变量(这是从llvm示例获得
的
)。如果有人能帮上忙我很感激。StatementMatcher LoopMatcher =hasSingl
浏览 0
提问于2016-04-27
得票数 1
1
回答
ParmVarDecl:获取
clang
::
VarDecl
、
clang
::FieldDecl或
clang
::ParmVarDecl
中
变量
的
数据类型
、
、
、
我正在开发
CLang
3.5。我正在尝试获取有关在C++项目中声明
的
变量
的
信息。如何在
clang
::
VarDecl
、
clang
::FieldDecl或
clang
::ParmVarDecl对象
中
获取变量
的
数据类型或限定类名?我试图在这里提供
的
clang
::
VarDecl
文档中找到一个可以返回变量
的
数据类型或类名
的
函数。我还尝试研究了$LLVM
浏览 0
提问于2013-12-21
得票数 2
1
回答
Clang
:如何获取用于常量大小数组声明大小
的
宏
名称
、
、
、
、
TL;DR;最近,我开始处理一个挑战,它需要源代码到源转换工具来修改特定
的
函数调用,并增加一个参数。仔细研究一下我能用什么方法把我介绍给这个神奇
的
工具集
Clang
。考虑到下面的程序(我
的
源代码
的
虚拟),我
的
目标是用安全版本
的
strcpy_s重写对strcpy函数
的
所有调用,并在新函数
浏览 0
提问于2019-06-09
得票数 4
回答已采纳
2
回答
可以使用
clang
格式将大括号添加到单行if语句等
、
、
是否有
clang
-format选项可以将大括号添加到所有if()/do/while语句等
中
?\n";使用
clang
-format version 3.6.0
浏览 1
提问于2014-09-30
得票数 63
回答已采纳
1
回答
如何在
Clang
中区分数值
的
使用和#define
的
使用?
、
、
最近,我一直在使用
Clang
,出于某些目的,我需要知道何时使用了typedef
宏
。据我所知,以下代码
的
两个ast-dump对于变量声明是完全相同
的
:int my_array[SIZE_MAX]; int my_array[16];
VarDecl
0x1dbc370 <test.cpp:2:1, col:21> my_array 'int [16]' 当然,我知道16只是一个别名,但在解析type
浏览 3
提问于2014-07-28
得票数 1
1
回答
AST,抽象语法树,是由语言还是由前端定义
的
?
、
、
、
、
在过去
的
几周里,我一直在试验AST和
Clang
,尤其是
clang
。我
的
意思是,AST (和它
的
所有元素)是来自语言发明者
的
头脑吗?各种各样
的
前端只是根
浏览 1
提问于2021-11-09
得票数 1
回答已采纳
1
回答
如何在
clang
中
从Expr*
中
获取整型变量名及其值
、
我在
clang
的
重写方法VisitBinaryOperator()中有以下代码:Expr* rhs = E->getRHS(); 另外,对于类型,当我转储lhs类型时,我会得到这个: int identifiertype_lhs->dump(); 如何为
cla
浏览 1
提问于2012-11-02
得票数 3
1
回答
我可以使用什么
clang
函数来找到具有'&‘
的
声明,例如'int *m = &b'?
我希望找到具有“&”
的
声明,比如int *m = &b,然后对这些声明进行翻译。现在,我使用ASTMatcher
varDecl
()查找所有
VarDecl
,并使用declVar->getType().getTypePtr().getAs<
clang
::PointerType>()获取指针声明接下来我可以使用哪些函数来找到这样
的
'm = &b'声明?*declVar = Result.Nodes.getNodeAs<
VarDecl<
浏览 2
提问于2019-05-27
得票数 0
回答已采纳
1
回答
如何使用
clang
-query匹配枚举类型
、
考虑下面的C源代码:enum a {}; enum a v2;$
clang
-query type.c --$
clang
-query type.c -- <em
浏览 0
提问于2021-04-19
得票数 0
1
回答
注意:在
宏
'A_MACRO‘
的
扩展
中
、
在使用gcc构建时,我收到了上百条这样
的
警告 PUT_UINT32(state,-w还隐藏了我仍然希望看到
的
警告
浏览 0
提问于2015-04-05
得票数 6
回答已采纳
1
回答
如何使用
clang
libtooling获得
宏
及其
扩展
?
、
、
、
我正在做
clang
libtooling。但是我能得到一个
宏
的
列表吗?它
的
名字和
扩展
都是字符串。abc -- ab 如何使用
clang
libtooling实现此输出。如何使用
clang
libtooling实现? 如果这个问题有解决方案,请告诉我。
浏览 23
提问于2019-10-30
得票数 0
2
回答
Clang
/LD功能需求?
、
、
、
、
我有两个可以工作
的
编译器,
clang
在Mac上,它可以针对iPhone,
clang
在iPhone上,它也针对iPhone。通常情况下,两者都工作得很好,可以生成二进制文件和库。Undefined symbols: _main in test-CgDtHX.o 这是对JS_Init
的
调用,它被定义为一个不同
扩展
的
宏
iphone-
clang
将将其
浏览 4
提问于2013-05-15
得票数 2
回答已采纳
1
回答
hasGlobalStorage而非静态
的
Clang
匹配器
、
、
我试图组成一个匹配器来查找没有静态存储
的
全局变量。到目前为止,这就是我所拥有的与
Clang
合奏
浏览 3
提问于2021-05-25
得票数 0
回答已采纳
1
回答
如何使用
clang
将复合类型
的
类型
扩展
为基本
的
内置形式?
、
、
我希望能够从复合类型类型
中
获得原始类型。我使用
的
是
clang
版本7.1.0typedef unsigned int uint32;我可以像这样使用p_uint_var提取类型
的
VisitVarDecl{ if(var->hasGlobalStorageouts() << var-&g
浏览 0
提问于2019-06-13
得票数 0
回答已采纳
1
回答
支持GCC和
clang
进行没有
宏
的
clang
属性
扩展
。
、
在
clang
__attrbute__中有许多超出__attrbute__标准
的
扩展
。例如,#if defined(__
clang
__)#elseclass CAPABILITY("mutex") mutex
浏览 25
提问于2022-06-07
得票数 0
回答已采纳
1
回答
ClangTool如何获得变量声明
中
模板参数
的
位置?
、
对于模板(如下面的模板),如何使用
clang
工具为每个参数获取源代码
中
的
位置?virtual bool VisitVarDecl(
VarDecl
*var) {在
Clang
中
,VarTemplateSpecializationDecl类型允许我以
cl
浏览 0
提问于2019-06-05
得票数 1
回答已采纳
2
回答
使用
clang
-tidy处理大量与boost单元测试相关
的
警告
、
、
、
、
不幸
的
是,大量警告是从
宏
扩展
中产生
的
。有没有一种方法可以禁用这些,而不必指定单独
的
行号? 即使当我有一个// NOLINT时也会发生这种情况。
浏览 6
提问于2016-12-24
得票数 3
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
热门
标签
更多标签
云服务器
ICP备案
云直播
对象存储
实时音视频
活动推荐
运营活动
广告
关闭
领券