草庐IT

clang_complete

全部标签

c++ - 有没有详细的Clang库API文档?

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。关闭7年前。Improvethisquestion我一直在阅读一些大量使用Clang库API的代码。但是,我对ClangAPI一点都不熟悉,不得不一直用谷歌搜索。例如,当我阅读一些类似clang::EnumConstantDecl的代码时,我会跟随google并转到thispage。.似乎所有关于EnumConstantDecl的东西都可以在这里找到,但我看到的只是一个API列表(或者只是一些函数原型(prototy

c++ - MacPorts Clang 3.1 缺少标准库安装?

我正在尝试使用MacPorts安装的clang在C++11中初始化列表功能。编译这段简单的代码时:#includeintmain(){std::vectora{1,3,5};return0;}我遇到了这个错误:stephen-chus-mac-pro:~stephenchu$clang-std=c++0x-ctext.cxx-I/opt/local/include-vclangversion3.1(trunk154872)Target:x86_64-apple-darwin10.8.0Threadmodel:posix"/opt/local/libexec/llvm-3.1/bin/c

c++ - Clang++ Xcode 4.4 非静态成员初始化和移动构造函数

我正在使用Xcode4.4和mountainlion。我似乎无法理解为什么模板中的非静态成员初始化会调用变量的移动构造函数。无论如何要克服这个错误?示例代码:#include#include////Thisclasscancompile//classWorking{public:intGetValue(){returnvalue_;}private:std::atomicvalue_{0};};////Thisclasscannotcompile//templateclassNotWorking{public:intGetValue(){returnvalue_;}private:st

c++ - clang 3.3 和 constexpr 约束

我正在用clang3.3编译一些代码,似乎可以用gcc4.8编译:原代码为:templatestructhelper{typedefvoidtype;};templatestructhelper{typedefint64_ttype;};templatestructhelper{typedefint32_ttype;};templatestructhelper{typedefint16_ttype;};templatestructhelper{typedefint8_ttype;};templatestructtest{typedeftypenamehelper::typevalue_

c++ - 如何深入研究 shared_ptr [Netbeans、clang++、gdb]

我正在使用NetbeansC++8.0.2clang++(Ubuntuclang版本3.6.0-2ubuntu1(tags/RELEASE_360/final)(基于LLVM3.6.0))gdb(GNUgdb(Ubuntu7.9-1ubuntu1)7.9)在我的“C++简单测试”中,每当我检查一个shared_ptr变量时,我看到的所有值都是:std::shared_ptr(count1,weak0)0x64d3a0或类似的。无法深入了解它实际指向的值。即使变量窗口中的TreeView显示了其中一个扩展器图标,当我单击它时它也会消失。当我尝试取消引用它或在“表达式”窗口中调用它的get

c++ - 在 Clang 下解决缺少 Yz 机器约束的问题?

如果未定义__SHA__,我们将使用内联汇编使SHA指令可用。在GCC下,我们使用:GCC_INLINE__m128iGCC_INLINE_ATTRIBMM_SHA256RNDS2_EPU32(__m128ia,const__m128ib,const__m128ic){asm("sha256rnds2%2,%1,%0":"+x"(a):"xm"(b),"Yz"(c));returna;}Clang不使用GCC的Yzconstraint(参见Clang3.2Issue13199和Clang3.9Issue32727),这是sha256rnds2指令所必需的:YzFirstSSEregis

c++ - Clang:将 bind 或 mem_fn 与 string::c_str 和 transform 结合使用时出现问题

尝试将std::stringvector转换为constchar*vector:#include#include#include#includeintmain(intargc,char**argv){std::vectorvalues;values.push_back("test1");values.push_back("test2");values.push_back("test3");std::vectorc_values(values.size());std::transform(values.begin(),values.end(),c_values.begin(),std::

c++ - 如何使用 clang::TreeTransform?

我正在尝试找出clang::TreeTransform的集成点。目标是在代码生成之前转换AST。提前致谢。 最佳答案 一种方法是使用ASTFrontEndAction,然后重新定义方法CreateASTConsumer以创建SemaConsumer(而不是ASTConsumer)。然后在handleTopLevelDecl方法中通过将Sema传递给RecursiveASTVisitor创建一个RecursiveASTVisitor,这对于TreeTransform是必需的。然后RecursiveASTVisitor的Visit方法可

c++ - 如何将 Clang 置于 C++ 模式?

我正在使用Clang开发AST转换器。它应该将文件名作为输入,对该文件中的代码执行一些转换,然后返回转换后的代码。它基于ahelpfulexamplefromEliBendersky.代码如下:std::stringtransform(std::stringfileName){//CompilerInstancewillholdtheinstanceoftheClangcompilerforus,//managingthevariousobjectsneededtorunthecompiler.CompilerInstancecompilerInstance;compilerInsta

c++ - clang 损坏的名称随时间变化

我们遇到了一些问题,但我没有找到任何文档。似乎有很多类(class)成员等随着时间的推移会得到不同的名称。所以有一天,编译给它,例如,_ZThn1128_N9TESTCLASS14ContentChangedEv然后经过一天的开发,它得到了一些不同的前缀,比如_ZThn1140_N9TESTCLASS14ContentChangedEv你知道吗,这里的varied前缀是什么?我想,也许它与行号有某种联系,但不是。其次,我们如何确保这不会随时间变化?前缀肯定只是一些额外的,因为例如,如果我更改该数字,则demangled名称将保持不变。提前致谢。 最佳答案