在我的一个检查器中,我使用FunctionDecl类来获取函数声明.现在我想获得我输入checkASTDecl方法的函数的名称.我们知道在checkASTDecl()中我们得到类FunctionDecl的指针.所以,任何人都可以帮助我获取我输入checkASTDecl的函数名称.
这是我写的示例代码:
namespace {
class FuncPrototypeChecker : public Checker<check::ASTDecl<FunctioeDecl> > {
mutable OwningPtr<BugType> TernaryOperatorBug;
public:
void checkASTDecl(const FunctionDecl *D,
AnalysisManager &mgr, BugReporter &BR) const;
};
Run Code Online (Sandbox Code Playgroud)
}
void FuncPrototypeChecker::checkASTDecl(const FunctionDecl *D,
AnalysisManager &mgr,
BugReporter &BR) const {
/* Get the name of the function from FunctionDecl *D */
}
Run Code Online (Sandbox Code Playgroud)
我想获取我输入方法FuncPrototypeChecker :: checkASTDecl()的函数的名称.请帮助我实现它的方式.提前致谢.
我想编写一个命令行工具,如git,它将遵循POSIX标准。这将需要的选项,如--help和-h,--version...等。但是我不知道该怎么做。谁能告诉我如何使用bash脚本执行此操作。请帮我。这对我来说是很新的东西。
例子:如果我的工具名称是Check-code,那么我想使用;
Check-code --help
Run Code Online (Sandbox Code Playgroud)
要么
Check-code --version
Run Code Online (Sandbox Code Playgroud) 我是tcl的新手.我想在tcl中创建一个线程,它应该继续在后台调用自己.
#!/usr/bin/env tclsh
set serPort [open "/dev/ttyS0" RDWR]
fconfigure $serPort -mode 115200,n,8,1 -blocking 0
while { 1 } {
set data [gets $chan]
puts $data
}
Run Code Online (Sandbox Code Playgroud)
我想避免使用上面的while循环,并为while循环内的功能创建一个可重复的线程.基本上我将PC的COM1连接到设备并从设备获取串行数据.但是如果端口上没有数据,即使我使用"eof"命令,它仍然不会出现循环.这就是我想创建线程的原因.
我打算使用Tcl_CreateThread,但我不明白如何使用它
我在变量中设置了一个tcl字符串.我想将它视为十六进制转换为二进制.任何人都可以帮助我实现这一目标.
这是我在做的事情:
$ /usr/bin/tclsh8.5
% set a a1a2a3a4a5a6
a1a2a3a4a5a6
% set b [ string range $a 0 3 ]
a1a2
Run Code Online (Sandbox Code Playgroud)
现在我想要变量"b"的a1a2值应该被视为0xa1a2,这样我就可以将它转换为二进制.请帮我解决这个问题.