136得票6回答
如何使用Clang编译C++代码?

我已经使用apt-get在Ubuntu上安装了Clang,并且可以成功地使用它编译C文件。然而,我不知道如何通过它来编译C++。我需要做什么来编译C++?

135得票22回答
如何修复PCH错误?

当我尝试在 Xcode 中构建我的应用程序时,我会收到以下错误信息: PCH 文件从不同的分支((clang-425.0.24))构建而来,与编译器((clang-425.0.27))不同 这之前并没有发生过,但这是在更新 Xcode 后的第一次构建。 其他应用程序可以工作,但这...

134得票3回答
为什么当循环限制为959时,简单的循环得到了优化,但是当限制为960时却没有?

考虑这个简单的循环:float f(float x[]) { float p = 1.0; for (int i = 0; i < 959; i++) p += 1; return p; } 如果您使用gcc 7(快照)或clang(trunk)编译并带有-march...

132得票2回答
为什么Clang会优化掉x * 1.0,但不会优化掉x + 0.0?

为什么Clang会优化掉这段代码中的循环#include <time.h> #include <stdio.h> static size_t const N = 1 << 27; static double arr[N] = { /* initialize...

120得票3回答
我该使用哪个预定义宏来检测Clang?

我正在尝试检测编译我的源代码使用的编译器。我可以轻松地找到预定义的宏来检查MSVC或GCC(例如,请参见https://github.com/cpredef/predef),但我无法找到任何用于检查clang的宏。 是否有人知道clang是否定义了像__CLANG__这样的宏,以便知道当前编译...

117得票2回答
C++11标准委员会是否打算让unordered_map在插入后立即销毁其内容?

我刚刚浪费了三天的时间追踪一个非常奇怪的错误,即unordered_map::insert()会破坏你插入的变量。这种高度不明显的行为只发生在最近的编译器中:我发现clang 3.2-3.4和GCC 4.8是唯一展示这个“特性”的编译器。 以下是我主要代码库中的一些简化代码,用于演示这个问题...

115得票10回答
Clang无法看到基本头文件。

我尝试使用Clang在Fedora 20上编译简单的Hello World程序,但是我得到了以下输出: d.cpp:1:10: 致命错误:找不到'iostream'文件 #include <iostream> 我不知道该如何解决这个问题。

114得票3回答
如何从GCC/clang汇编输出中去除"噪音"?

我希望检查在我的代码中应用boost::variant后的汇编输出,以便查看哪些中间调用被优化掉了。当我使用GCC 5.3进行以下示例的编译(使用g++ -O3 -std=c++14 -S),似乎编译器将所有内容都优化掉并直接返回100: (...) main: .LFB9320: ...

112得票4回答
混淆的模板错误

我已经使用clang一段时间了,并且偶然发现了"test/SemaTemplate/dependent-template-recover.cpp"(在clang发行版中),它应该提供从模板错误中恢复的提示。 整个过程可以轻松地简化为一个最小的示例: template<typename...

108得票2回答
使用Clang实现更快的代码自动补全

我正在研究使用Clang的代码补全机制时的潜在加速方法。下面描述的流程是我在Anders Bakken的rtags中发现的。 翻译单元由监控文件更改的守护程序解析。这是通过调用clang_parseTranslationUnit和相关函数(reparse*,dispose*)完成的。当用户在...