问题标签 [clang++]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
178 浏览

c++ - 'static void' 作为 decl 说明符

以下代码可以用clang很好地编译。我想知道 C++ 标准是否可以接受。

在我看来,没有任何声明是有效的。perenial C++ 标准验证套件 有这样一个测试(#1),而 clang(v3.4)在这方面失败了。

虽然,如果我从 #1 中删除静态,那么 clang 会按预期报告错误。

我查看了标准,发现有一段关于静态数据成员(9.4.2-2)的内容是:

2 静态数据成员在其类定义中的声明不是定义,并且可能是除 cv 限定的 void 之外的不完整类型。...

据我了解,这条线将 #2 和 #3 视为无效但不确定 #1。是否有更多与静态存储类声明相关的细节应该排除#1?

谢谢,

0 投票
1 回答
1037 浏览

ubuntu - 如何检查 g++/clang++ 默认链接库

刚刚使用以下命令在 Ubuntu 12.04 上安装了 boost 库:

即使我没有明确提供所需的 boost 库,我也使用以下命令编译和构建代码而没有任何问题。

问题> 如何查看 g++ 或 clang++ 使用的默认链接库?

谢谢

0 投票
2 回答
2547 浏览

clang - 相当于 -ftree-vectorizer-verbose 的 clang

问题是关于如何clang打印关于哪些循环(或代码的其他部分)已被矢量化的信息。GCC有一个名为-ftree-vectorizer-verbose=6执行此操作的命令行开关(或-fopt-info-vec在较新版本的 GCC 中),但我找不到任何类似的clang. clang支持这个还是我唯一的选择是偷看反汇编?

0 投票
1 回答
601 浏览

linux - 带有 clang++ 和 libc++ 的 Linux 上的 std::cerr 导致 SIGABRT

我正在尝试在使用 clang++ 3.3 libc++ libc++abi 编译的 Ubuntu 12.04 x64 上运行一个简单的程序。

程序:

写入 std::cerr 会打印消息,但会导致 SIGABRT。

但是,写入 std::cout 可以正常工作。

这里是可执行文件的 ldd 输出:

谁能给我一个提示如何解决这个问题?

这是回溯:

0 投票
2 回答
2243 浏览

clang - Clang 代码覆盖率无效输出

因此,我按照这些说明http://clang.llvm.org/get_started.html检查并构建了 clang 主干。我可以使用 --coverage 构建我的二进制文件并运行它以获取 .gcno 和 .gcda 文件,但是当我运行 lcov 时,我得到“GENINFO: ...达到意外的文件结尾”。

现在我被困住了,来到 SO 寻求帮助:)

我正在使用 Ubuntu 13.04 并编写 c++11,以防万一。

0 投票
2 回答
2068 浏览

c++ - C++ Makefile 编译顺序

嗨,在这个问题中,我读到编译顺序无关紧要,但我的情况很奇怪。

我在 CCSizePolicy.cpp 文件中有几个全局变量它们看起来像这样:

在标题中

同样在 CCLayoutParams.h

和 CCLayoutParams.cpp

所以当我在我的程序中使用它们时,我调用 CCLayoutParamsWrapWrap.getWidth() 和 CCLayoutParamsWrapWrap.getHeight()

这应该输出我 -1 -1 但我有 0 0 ...

makefile 中的顺序如下所示:

当我将其更改为

一切都开始工作(我得到-1 -1)这是怎么回事?

我使用 gcc 版本 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5) 的 Linux

我的整个项目都被窃听了,我不知道为什么,因为我按名称对源文件进行排序???!?!

0 投票
1 回答
2690 浏览

c++ - Boost Log - 为什么不编译?

在过去的三个小时里,我被以下编译错误彻底搞糊涂了。谁能告诉我这里发生了什么?

我试图将 log::formatter(在下面标记)定义为它自己的变量,所以它可以在几个地方重复使用。但是,在尝试重新使用它时出现编译错误。

但是,如果我完全摆脱该变量,而是复制并粘贴代码,它就会编译。有没有搞错?有什么办法可以做我想做的事吗?

编译错误(使用 clang++)是:

但是,如果我改为将其更改为此,它将编译:

0 投票
2 回答
1261 浏览

c++ - 使用 gcc 或 clang 自动生成标题

给定一个源文件source.cpp,我如何生成适当的标题source.hpp

我在 linux 64 位下,我想避免手动编写标题,以减少我花在编写代码上的时间并限制可能的错误。

0 投票
5 回答
1703 浏览

c++ - 如何将非英语字符串写入文件并使用 C++ 从该文件中读取?

我想将 a 写入std::wstring文件并需要将该内容读取为std:wstring. 当字符串为L"<Any English letter>". 但是当我们有孟加拉语、卡纳达语、日语等任何类型的非英语字母时,问题就出现了。尝试了各种选项,例如:

  1. 将文件转换std::wstringstd::string并写入文件以及读取时间读取为std::string并转换为std::wstring
    • 正在写作(我可以从编辑中看到)但阅读时间出现错误的字符
  2. 写入std::wstringwofstream,这也无助于母语字符字母,例如 std::wstring data = L"হ্যালো ওয়ার্ল্ড";

平台是mac和Linux,语言是C++

代码:

0 投票
1 回答
1834 浏览

c++ - 为什么 clang 将其解析为用户定义的文字?

我有一些我正在维护的代码,我已经开始在 clang 3.3 下编译。使用“-std=c++11”编译时,clang 会产生错误(如下所示)。我将有问题的代码提炼为以下内容:

这是clang的输出:

test.cpp:10:5: 错误:没有匹配的文字运算符用于调用具有类型 'const char *' 和 'unsigned int' 的参数的 'operator "" __format'

如果字符串文字和“__format”之间没有空格,预处理器似乎不能扩展__format。但是,当不指定 -std=c++11 时,它显然是。G++ 4.4.7(有和没有 -std=c++0x)编译得很好。

编译器有错误吗?