当前位置: 首页 > news >正文

做营销网站设计免费收录链接网

做营销网站设计,免费收录链接网,网站上一页下一页怎么做,wordpress连接微博专业版LibTooling(库工具) LibTooling是个支持基于Clang编写独立工具的库. 在此,为LLVM安装Clang工具 介绍 用LibTooling构建的工具(如Clang插件)通过代码运行FrontendActions. 这里演示运行Clang的快速检查一堆代码语法的SyntaxOnlyAction的不同方法. 解析内存中的代码片 如果想…LibTooling(库工具) LibTooling是个支持基于Clang编写独立工具的库. 在此,为LLVM安装Clang工具 介绍 用LibTooling构建的工具(如Clang插件)通过代码运行FrontendActions. 这里演示运行Clang的快速检查一堆代码语法的SyntaxOnlyAction的不同方法. 解析内存中的代码片 如果想对,如对ClangAST的某些部分单元测试的代码运行FrontendAction,则runToolOnCode就是你找的.如: #include clang/Tooling/Tooling.h TEST(runToolOnCode, CanSyntaxCheckCode) {//runToolOnCode返回在给定代码上是否正确操作运行.EXPECT_TRUE(runToolOnCode(std::make_uniqueclang::SyntaxOnlyAction(), class X {};)); }编写独立工具 一旦对FrontendAction运行了单元测试,使其不可中断,就可创建独立工具了.作为独立运行clang的工具,首先要确定要为指定文件使用哪些命令行参数. 为此,创建了一个编译数据库.有很多种创建编译数据库的方法,可根据命令行选项来支持所有这些方法. CommonOptionsParser类,负责解析与编译数据库和输入相关的命令行参数,以便所有工具可共享实现. 解析常用工具选项 可从构建目录或命令行读取编译数据库.使用CommonOptionsParser可显式指定编译命令行,用-p命令行选项指定构建路径,及用源文件路径自动定位编译数据库. #include clang/Tooling/CommonOptionsParser.h #include llvm/Support/CommandLine.h using namespace clang::tooling; //对所有命令行选项,应用自定义分类,以便只显示他们. static llvm::cl::OptionCategory MyToolCategory(my-tool options); int main(int argc, const char **argv) {//CommonOptionsParser构造器解析参数,并创建编译数据库.如果出现错误,它终止程序.CommonOptionsParser OptionsParser(argc, argv, MyToolCategory);//使用OptionsParser.getCompilations()和OptionsParser.getSourcePathList()提取编译数据库和输入文件路径列表. }创建并运行ClangTool 一旦有了编译数据库,就可创建一个ClangTool并在一些代码上运行FrontendAction.如,要对a.cc和b.cc文件运行SyntaxOnlyAction,可这样写: //可在同一进程中运行多个源的clang工具. std::vectorstd::string Sources; Sources.push_back(a.cc); Sources.push_back(b.cc); //把创建的编译数据库和要运行的源码交给工具构造器. ClangTool Tool(OptionsParser.getCompilations(), Sources); //ClangTool要为运行的每个翻译单元提供一个新的FrontendAction.因此,它以FrontendActionFactory作为参数. //要从给定的FrontendAction类型创建FrontendActionFactory,调用newFrontendActionFactoryclang::SyntaxOnlyAction(). int result Tool.run(newFrontendActionFactoryclang::SyntaxOnlyAction().get());组合在一起,第一个工具 现在,合并前面两个步骤到第一个实际工具中.此例工具的更高级版本也签入到tools/clang-check/ClangCheck.cpp的clang树中. //声明clang::SyntaxOnlyAction. #include clang/Frontend/FrontendActions.h #include clang/Tooling/CommonOptionsParser.h #include clang/Tooling/Tooling.h //声明llvm::cl::extrahelp. #include llvm/Support/CommandLine.husing namespace clang::tooling; using namespace llvm; static cl::OptionCategory MyToolCategory(my-tool options); static cl::extrahelp CommonHelp(CommonOptionsParser::HelpMessage); //之后可添加此指定工具的帮助消息. static cl::extrahelp MoreHelp(\nMore help text...\n); int main(int argc, const char **argv) {CommonOptionsParser OptionsParser(argc, argv, MyToolCategory);ClangTool Tool(OptionsParser.getCompilations(), OptionsParser.getSourcePathList());return Tool.run(newFrontendActionFactoryclang::SyntaxOnlyAction().get()); }在某些代码上运行该工具 检出并构建clang时,已构建clang-check,并在构建目录中的bin/clang-check中. 可通过在--分隔符后,指定llvm仓库中的文件运行clang-check的所有必需参数: $ cd /path/to/source/llvm $ export BD/path/to/build/llvm $ $BD/bin/clang-check tools/clang/tools/clang-check/ClangCheck.cpp -- \clang -D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS \-Itools/clang/include -I$BD/include -Iinclude \-Itools/clang/lib/Headers -c或,还可按把编译命令数据库输出到其构建目录中,来配置cmake: # 或从UI设置CMAKE_EXPORT_COMPILE_COMMANDS. $ cmake -DCMAKE_EXPORT_COMPILE_COMMANDSON .这在目录中创建叫compile_commands.json的文件.现在,你可通过按第一个参数指定构建路径,并按进一步的位置参数指定一些源文件,来对项目中的文件运行clang-check: $ cd /path/to/source/llvm $ export BD/path/to/build/llvm $ $BD/bin/clang-check -p $BD tools/clang/tools/clang-check/ClangCheck.cpp内置包含 Clang工具需要其内置头文件,并按Clang方式搜索它们.因此,默认在$(dirname/path/to/tool)/中查找内置头文件. 相对工具二进制文件的/lib/clang/3.3/include.对在构建clang-resource-headers后,从llvm的顶级二进制目录运行的工具,或如果该工具从clang二进制文件旁边的clang安装的二进制目录运行,则开箱即用. 提示:如果工具找不到stddef.h或类似头文件,请使用-v调用该工具并查看它所查找的搜索路径. 连接 有关要链接的库列表,请查看工具的CMake文件之一(如clang-check/CMakeList.txt)这里.
http://www.pierceye.com/news/585147/

相关文章:

  • 班级网站建设甘肃住房和城乡建设厅网站
  • 网站建设哪家性价比高住房和城乡建设部网站办事大厅里边
  • 外贸小语种网站建设深圳市保障性住房申请官网
  • 阿里云买域名后怎么做网站wordpress创建空白页面
  • 小型公司建网站腾讯风铃wordpress
  • 广州做模板网站的公司怎么区分营销型和展示型的网站
  • 网站推广服务外包1688阿里巴巴国际站首页
  • 深圳学校网站建设wordpress rossi 汉化
  • 课程网站课程资源建设北京吴勇设计工作室
  • 网站建设费用什么意思软件制作专业
  • 扬中本地网站外国做美食视频网站
  • 深圳手机网站制作价钱阜阳中国建设银行官网站
  • 廊坊建设网站企业安卓开发自学教程
  • 做网站虚拟主机配置汉沽手机网站建设
  • 设计一个网站先做哪些构造姑苏区建设局网站
  • 制造业营销外贸网站建设网站管理的内容包括
  • 看电视剧的免费网站app下载网站等保如何做
  • 如何做网站的营销中山vi设计公司
  • 搜索引擎网站使用的排名规则室内设计联盟网页版
  • php 手机网站开发手机端网站开发框架
  • 苏州电信网站备案浙江搜索引擎优化
  • 黄岛网站建设哪家好市体育局网站 两学一做
  • 上海建设银行网站转账记录吗外国网站做问卷调查挣钱
  • 深圳做购物网站十堰网络销售
  • 郑州企业网站优化多少钱百度竞价排名价格
  • js特效做的好的网站什么专业是做网站
  • 淄川响应式网站建设网站在国内服务器在国外
  • 施工企业市场经营工作思路及措施个人如何优化网站有哪些方法
  • 怎么做一个盈利网站义乌创博网络科技有限公司
  • 学校网站建设代码不重名的建筑公司名字