clang++相关内容
#include int foo(int i){ return foo(i + 1); } int main(int argc,char * argv []){ if(argc!= 2){ 返回1; } std :: cout
..
我正在尝试创建一个能够分析如下内容的正则表达式: 002561-1415179671591i.jpg 第二部分是unix时间戳(在i之前),我需要提取它。我想出了以下语法,但是std :: regex甚至在我检查匹配项之前都会抛出regex_error,我不太确定出什么问题了。 这里是到目前为止,我得到的是:([[:d:])*-[[:d:]] *([:alpha:])\.jpg
..
似乎clang ++(我尝试过clang 3.2)将模板类的名称视为实例化的类,而不是用于在类范围内发生的任何模板。例如,以下代码 template类T> A类{}; 模板 B类{ A会员; // ^ ---- clang ++将B视为实例化类 //,但我希望它成为此处的模板 //此代码可以在g
..
当试图编写一个类来调用构造函数和析构函数之间的持续时间时,我遇到了我认为是clang的bug。 (编辑:这不是错误;它是实现定义的复制省略) 下面的 timer 结构保持指向 #包括 #include 结构计时器{ using clock = std :: chrono :: high_resolution_clock; 使用time_
..
我很惊讶以下简单代码无法编译(使用gcc,版本4.8.1) #include void test() { std :: string * p =新的std :: string(“销毁我”); p-> std ::〜string(); } 它说:错误:作用域'std'在'〜'之前不是班级名称。但是阅读该标准后,我会说语法应该是“ 后缀表达式
..
命令: 我正在尝试使用clang ++交叉编译一个简单的C ++程序。我正在使用Linaro gcc工具链来获取库和其他必需的库。 $ {root} / bin / clang ++ --target = arm-linux-gnueabihf --rtlib = compiler-rt --stdlib = libc ++ -nostdinc ++ -I $ {root} / in
..
我正在尝试链接在一起: libFuzzer.a,使用clang ++-5.0和-编译std = c ++ 11 我的模糊驱动程序,使用clang ++-5.0和 -std = c ++ 11 -stdlib =编译libc ++ libcurl,使用clang-5.0编译 ,此链接器命令正在执行: / bin / bash ../../libtool --silent --t
..
我正在尝试将Python库包裹在C ++库周围,而distutils在OS X上对我来说是失败的。这是我setup.py中的相关内容: if sys.platform.startswith(“ darwin”): extra_compile_args_setting = [“ -std = c ++ 1z”,“-stdlib = libc ++”,“-O3 “] 以下是
..
编辑:滚动到下面的粗体部分以了解当前状态。 CLion似乎无法自动完成由所指向类型的成员在clang 5中的unique_ptr。我要么收到“没有建议”,要么得到 unique_ptr 本身的成员函数建议: 但是,对于4.0.1,一切正常: 我还注意到,如果我要求CLion跳转到-> 在 c-> 上,在4.0.1中找到: _LIBCPP_INLINE_VISIBILITY
..
我想使用 DS-5 Streamline Profiler 来分析我的代码。在其文档中提到要能够看到调用堆栈,我们需要使用编译器选项 -fno-omit-frame-pointer 来编译代码。此选项在gcc中。 还有clang的等效选项吗? -fno-omit-frame-pointer 是 我也尝试将编译器优化级别设置为0,但仍然无法简化调用堆栈。 解决方案 DS-5似乎
..
我下载了gtest 1.6,并用clang ++对其进行了编译。 export CC = / usr / bin / clang export CXX = / usr / bin / clang ++ 配置 make 我得到了libgtest.a,然后将其复制到 /usr/local/lib/libgtest_clang.a 。 当我使用简单的C ++代码进行测试时,一切正
..
背景: 请考虑以下示例: #include #include int main(){ std :: vector vectorBool {false,true}; for(const auto& element:vectorBool)std :: cout
..
我有以下脚本尝试打印出给定C ++文件中的所有AST节点。在带有琐碎包含的简单文件(相同目录中的头文件,等等)上使用此文件时,此方法很好用。 #! / usr / bin / env python 来自argparse import ArgumentParser,文件类型 来自clang import cindex def node_info(node): return {'
..
我刚刚安装了 ClangOnWin ,我正尝试获取 clang -tidy 的“现代化”检查工作。不幸的是, clang-tidy 似乎并不了解它们: clang-tidy -list-checks foo.cpp-| grep modernize 不产生任何输出。 列出了“ modernize”检查此处,但是该页面似乎记录了Clang 3.8,而我安装的版本是3.7。但是,版本3.7是 L
..
我正在使用clang尝试(使用C ++ API)解析一些C ++文件,并使其全部使用-中断对使用特定样式。 示例: **原始** 开关(... ) { 情况1: { }休息; 情况2: { 休息时间; } } **更换后** 开关(...) { 情况1: { 休息时间; } 情况2
..
如果链接时间优化(LTO)与 clang 一起使用,是否可能 例如,可以将C函数内联到C ++调用程序中吗,或者反之亦然? > 解决方案 AFAIK,是的,因为Clang生成LLVM中间表示,并且LTO发生在该LLVM字节码上。 BTW任何类型的链接时间优化发生在某些 (已编译代码)的中间表示形式,而不仅仅是机器代码上的重定位,如每个目标文件进行操作。 LTO,无论使用什么表示
..
中的 -Wlifetime 编译标志的用途是什么? 我在Internet上发现的有关信息非常模糊。 解决方案 此标志分析本地文件以查看代码是否可以使用指向已死对象的指针。 您可以在YouTube上看到Herb Sutter cppcon视频,他的解释很好: https://youtu.be/80BZxujhY38
..
我想尝试将项目从gcc迁移到clang ++。我承认自己很无知,我不确定为什么下面的代码 template constexpr T pi {std :: acos(T(-1.0))}; 使用g ++进行静默编译,但clang ++会产生错误 trig.hpp:3:13:错误:constexpr变量'pi'必须由常量表
..
以这个简单的例子为例。 struct Base { // Base: :Base()由编译器 定义; 结构派生:基准{ 使用Base :: Base; //应该继承Base :: Base() Derived(int value): m_value(value) {} private: int m_value; //如果调用了Base :: Base(),则默认
..
我的工作站是RHEL 6.5,预装有gcc 4.4.7。我们正在做C ++ 11工作,因此我们购买了RedHat Developer的工具集存储库集,其中包括G ++ 4.8.2。这台计算机上都安装了两个版本的G ++,但是从命令行启动并通过构建启动时会调用4.8.2。 john @ hurricane / home / john / repo / phoenix [PHX-29 |✚5]
..