libc++相关内容
我有一个简单的程序,它使用在命令行传递给它的一系列区域设置来测试wchar_t和char之间的转换。它通过打印区域设置名称和未能转换的字符串来输出失败的转换列表。 我使用clang和libc++构建它。我的理解是,libc++的命名区域设置支持是由OS X上的xLocale库提供的。 我看到一些意外的失败,以及一些转换应该失败但没有失败的情况。 这是程序。 #warning
..
我想在 CentOS 7 上使用带有 clang/clang++ 的 C++11 或 C++14.如何构建这个构建环境? 解决方案 本文讲授如何在 CentOS 7 上搭建 C++11 构建环境:RHEL 的 EPEL repo 提供 Clang 包,但没有 C++ 库包.所以,这些部分手工制作有点麻烦.为 Clang 定制的 C++ 库是 libc++ (libcxx) [1].然后,l
..
随机(这就是我问这个问题的原因),当我想将数据显示到 textView 时,我的应用程序崩溃了. 我在调试控制台中收到的唯一错误消息是: libc++abi.dylib: terminate_handler 意外抛出异常 我在 Google 上搜索过,但无法找到如何正确以及如何发生的线索. 解决方案 清理项目.检查每个约束并删除损坏的约束.再次清理项目,它应该可以工作.
..
随机地(这就是我问这个问题的原因),当我想将数据显示到 textView 中时,我的应用程序崩溃了. 我在调试控制台中收到的唯一错误消息是: libc++abi.dylib: terminate_handler 意外抛出异常 我用谷歌搜索,但找不到线索来了解这是否正确以及如何发生. 解决方案 清理项目.检查每个约束并删除损坏的约束.再次清理项目,它应该可以工作.
..
这个问题的答案为什么在 c++0x 模式下用 libc++ 不能 clang 链接这个 boost::program_options 示例? 声明“您需要使用 clang++ -stdlib=libc++ 重建 boost." 我使用 MacOS Lion 和 clang v3.0.如何使用 clang 构建 Boost v1.48.0 并将其与 libc++ 链接? 更新:我创建了一
..
为 boost::program_options 编译这个示例代码:http://svn.boost.org/svn/boost/trunk/libs/program_options/example/first.cpp ...在 MacOS Lion (10.7.2) 上,使用安装了 MacPorts 的 boost-1.48.0: $ clang++ -vApple clang 3.0
..
我正在研究 libc++ 中 std::vector 的实现,我注意到它在内部保留了三个指针(一个指向开头,一个指向结尾,一个指向结尾分配的内存)而不是我本能地做的事情,即一个指向开始的指针和两个 size 和 capacity 成员. 这里是libc++的中的代码(忽略压缩对,我知道是什么意思). 指针 __begin_;指针 __end_;__compressed_pa
..
我正在使用 c/c++ 为 osx 和 linux 开发命令行界面可执行文件.该项目将链接到 opencv.我应该使用 libc++ 还是 libstdc++? 解决方案 我会为每个操作系统使用原生库,即 GNU/Linux 上的 libstdc++ 和 Mac OS X 上的 libc++. libc++ 在 GNU/Linux 上不是 100% 完整的,当 libstdc++ 更
..
这个答案 对短字符串优化 (SSO) 进行了很好的高级概述.但是,我想更详细地了解它在实践中是如何工作的,特别是在 libc++ 实现中: 字符串必须有多短才能符合 SSO 的条件?这是否取决于目标架构? 实现上是如何区分short和long的访问字符串数据时的字符串?它是像 m_size 一样简单还是作为其他成员变量的一部分的标志?(一世想象一下 m_size 或它的一部分也可能用于
..
我正在尝试构建 android 应用程序.当我运行 zip align 工具来优化 APK 时,我收到此错误消息: zipalign:加载共享库时出错:libc++.so:无法打开共享对象文件:没有这样的文件或目录 我尝试安装 libc++ sudo aptitude install libc++ 它说:找不到包“libc+". 我的终端快照 解决方案 如果你的系统是64位的
..
我已经按照此处中所述构建了工具化的libc ++.我已按照上述网站的建议设置了标志: MSAN_CFLAGS =“-fsanitize = memory -stdlib = libc ++ -L/path_to/llvm-build-msan/lib -lc ++ abi -I/path_to/llvm-build-msan/include -I/path_to/llvm-build-msan
..
我已经在Ubuntu 13.04机器上安装了clang 3.2,并且已经编译和构建了libc ++,一切就绪.但是,当我尝试链接我的(非常简单的)代码时,链接器报告未引用到std :: cout等的引用. 如果有人可以建议我该怎么做才能解决这个问题,我将非常感激-我已经尽力想了一切. 命令和输出在这里: $ clang ++ -v -stdlib = libc ++ -lpthre
..
我已经构建了libc ++,并希望在编译程序时使用它?所以我有类似的东西 clang ++ -stdlib =〜/libc ++/libc ++.so main.cpp 但是这不起作用.构建应用程序时如何使用我的自定义构建的libc ++? 解决方案 此信息来自 llvm有关libcxx的文档. 如果要对clang使用自定义libc ++,则必须指定如下参数: $ cl
..
我写了一个 CMakeLists.txt 来用 g ++ 或 clang ++ 构建一个项目. 为了捕获尽可能多的错误,我同时使用了 libc ++ 和 -D_LIBCPP_DEBUG2 = 2 (对于 clang ++ )和 libstdc ++ 和 -D_GLIBCXX_DEBUG (对于 g ++ 和 clang ++ 都适用). set(CMAKE_CXX_FLAGS_DEBUG
..
在 shared_ptr 的boost实现中,它使用谈原子 在libc ++的实现中,使用完整的内存屏障 模板内联T增量(T& t)_NOEXCEPT{返回__sync_add_and_fetch(& t,1);}模板内联T减量(T& t)_NOEXCEPT{返回__sync_add_and_fetch(& t,-1);}} //名称 有此决定的
..
TL; DR 使用getline函数的libc++版本的程序在从管道读取输入时将阻塞,直到管道的缓冲区已满. 对于getline函数的libstdc++版本,同样是否:在这里,该函数将立即读取并在输入可用时立即返回一行输入. 我应该期望libstdc++和libc++之间的这种行为差异吗? [编辑:我在这里不是要征求意见,我只是对管道不甚了解,也对实现C ++标准库的困难不甚了解
..
这是我的第一个cmake文件.我有一个同时带有clang和g ++的linux系统.还安装了libc ++.我在Mac(xcode)上进行开发,但部署到linux. 我正在编写一个cmake文件,可以在其中选择clang或g ++以及libc ++或libstdc ++.有4种可能的组合. 我想出了如何选择编译器并在其上强制使用c ++ 11,但是我不知道如何指定标准库.有什么建议吗?
..
我有一些现有代码正在尝试使用clang 3.3和libc ++从 llvm.org 进行编译。简单的步骤即可检索另一个命令的结果。看来std :: filebuf不再提供FILE *构造函数,并且我尝试替换代码的所有想法都无法打开命令,即fb.is_open()始终返回false。 p> 根据我的发现,我将不得不使用 fb.open(cppcommand.c_str(),std :: ios
..
以下简单的测试用例文件在使用 -fmodules 进行编译时,给出了Clang的github镜像中“ master”提示的编译时错误。命令如下所示。我想知道这是否是针对Clang的新实验性模块功能的错误-可能是标准库的模块映射的实现存在问题-还是我做错了什么。如果将 -fbuiltin-module-map 添加到命令中,错误仍然出现。有趣的是,如果我用 stdint.h 代替 cstdint ,
..
在检查libc ++代码时,我看到ndk分配器 __ allocate 函数正在调用 __ builtin_operator_new ,但找不到它的定义是在libc ++代码中。 根据名字,很明显它是内存分配函数。但是谁来实现呢?它是由clang,gcc之类的编译器定义的吗?在哪里可以找到其定义? 解决方案 这是一个内在函数,由编译器本身隐式定义(因此称为内置函数) 。它是该语言的文
..