clang相关内容
请考虑以下代码: class A { public: int i; A(){} }; B类{ public: A a; int i; }; int main(){ B * p = new B {}; std :: cout i a.i
..
第一对夫妇太长,无法参考。我得到这个错误,当我试图从SVN编译 clang ++ -stdlib = libc ++ ../main.cc ... 与clang和libc ++。 错误:未定义引用“char const *'的typeinfo 错误:未定义引用'__cxa_allocate_exception' 错误:未定义引用到'__cxa_throw' /tmp/cc-pbn00y.
..
我基本上不明白clang的 -Wweak-vtables 。这是我到目前为止观察到的: 情况一:(触发警告) A类{ public: virtual〜A(){} }; class B:public A { public: virtual〜B(){} }; int main(){} / strong>(不触发警告) class
..
请考虑以下代码: struct A; // incomplete type template struct D {T d; }; template struct B {int * p = nullptr; }; int main(){ B u,v; u = v; //不编译抱怨D :: d具
..
首先,我遵循“入门:构建和运行ang”。特别是,我已经根据“使用Visual Studio”部分构建它。换句话说,我使用Visual Studio 2010构建它。 其次,我手动设置include和library路径到MinGW分发: > 我试图编译的简单程序: #include using namespace std; int main
..
如何在Clang中使用最新的C ++ 11功能? $ p 解决方案 您需要clang 3.3才能使用C ++ 11中最相关的功能集。有关最新支持的完整列表,请参阅 http://clang.llvm.org/cxx_status.html 特征。 Clang 3.3声明是C ++ 11的功能完整。 Clang的命令行是gcc兼容的,因此您必须通过followinf命令启用C ++ 1
..
我想了解当结合初始化列表和 const auto 时,C ++ 11应该是正确的行为。对于下面的代码,我在GCC和Clang之间得到不同的行为,并想知道哪个是正确的: #include #include #include int main() { const std :: initializer_list
..
我有这个简单的例子,我测试反对,我注意到,gcc优化(-O3)似乎不如clang一样好当操作符新涉及。我想知道可能是什么问题,如果可能强制gcc生成更优化的代码以某种方式? template
..
经过大量的努力,使clang和libc ++编译,运行,与NetBeans集成,甚至交叉编译到一个32位机器,我想我都有了这一切!所以我去使用libstdc ++没有的一些功能(整个原因,我的开发环境颠倒),并发现...我不能这样做。 libc ++安装,它工作,编译的程序(当它工作时)确实需要它。然而,编译器仍然试图使用libstdc ++版本在每一个机会,通过弄乱命名空间; std ::
..
如果我有在C ++ 03中编写的库,并将其编译为静态库,那么我可以在C ++ 11中使用它吗?也是相反的可能(C ++ 11静态库与C ++ 03)。 更新: 编译器I am using is clang or LLVM 解决方案 这主要取决于你如何在库中使用C ++标准库。 如果您根本不使用它,那么您不太可能遇到任何问题。 如果您使用 libstdc ++ ,那么您可
..
最近为什么一个const对象需要用户提供的默认构造函数吗?被标记为为什么C ++需要用户提供的默认构造函数来默认构造一个const对象?我使用 coliru 和 rextexter 来测试gcc(g ++ - 4.7,g ++ - 4.8,g ++ - 4.9)和clang(3.4和3.5)的各个版本,以确定在新版本的编译器中是否引入了这种行为。这里我们有两个测试用例,分别来自两个问题:
..
可能重复: 我可以使用C ++ 11和Xcode? 看起来xcode 4包含clang和gcc的旧版本。我可以升级gcc或铛和使用它们与xcode 4?我想使用gcc> = 4.6或最新的clang。 我的主要目标是能够从C ++ 11中获得尽可能多的新功能 我的选项是什么来实现这个? 解决方案 Xcode 4.1中的clang版本支持一些C ++ 11功能,包括可
..
可能重复: GCC 4.0,4.2和LLVM ABI兼容性 b $ b 根据主题,C ++ ABI是否兼容? Ie 干杯 div class =“h2_lin”>解决方案 根据 clang libc ++页面, p> ABI与gcc的libstdc ++兼容,用于某些低级功能,例如异常对象,rtti和内存分配。 这似乎意味着他们不是定位100%兼容性。例如
..
请考虑以下代码: struct foo {}; int main(){ foo :: foo a; } 我希望这个格式正确,声明一个变量类型 foo 根据[class] / 2中的规则(N4140,强调我): 将 class-name 插入到紧接在 class-name 之后声明的范围中。 class-name 也会插入类本身的范围;这称
..
我没有llvm或clang的经验,但。从我读的俚语据说是很容易嵌入维基百科 - 俚语,但是,我没有找到任何教程如何实现这一点。那么是否可以通过JIT编译并在运行时执行用户定义的代码来为c ++应用程序的用户提供脚本功能?是否可以调用应用程序自己的类和方法并共享对象? 编辑:我喜欢类似C语言的脚本语言C ++本身) 解决方案 我不知道任何教程,但在Clang源中有一个示例C解释器可能有
..
我正在尝试使用C ++ 11中的 shared_ptr 和 make_shared ,并编写了一个玩具示例,实际上是在调用 make_shared 时发生的。作为基础设施,我使用llvm / clang 3.0以及XCode4中的llvm std c ++库。 class Object { public: Object(const string& str) { cout
..
我一直在玩clang,我偶然发现了“test / SemaTemplate / dependent-template-recover.cpp”(在clang发行版中),它应该提供从模板错误中恢复的提示。 / p> 整个事情可以很容易地划分为一个最小的例子: template struct X { void f(T * t)
..
看看之前的答案,看起来虽然 std :: ostream 不是可移动的, std :: ofstream 应该是。但是,此代码 #include
..
对不起,如果这是一个简单的概念,但我很难获得正确的心态,以正确使用由 clang 提供的消毒剂。 / p> float foo(float f){return(f / 0); } 我用编译这个小片段 clang ++ -fsanitize = float-divide-by-zero -std = c ++ 11 -stdlib = libc ++ -c sour
..
首先,我有一个带有默认值的值的结构 struct S { int a = 1; }; 这种类型可以是默认构造的,当它是非const /非constexpr由gcc和铛。在两者下, std :: is_pod :: value 是 false 。奇怪的行为如下: S s1; // works under both const S s2 {}; //
..