libstdc++相关内容
阅读问题后在DLL和EXE之间传递空的 std :: string 对象,我担心用于构建我的gcc / libstdc ++的配置选项。更具体的我想知道在 ./ configure 期间是否使用 - enable-fully-dynamic-string / p> 我在Windows XP上使用MinGW 4.4.0。 任何人都知道用于构建此版本的配置 有任何安装GNU gcc的
..
请考虑以下代码段: #include void foo(const std :: unordered_map&){} int main() { foo }); } 这与GCC 4.9.2失败,消息为: map2.cpp:7:19:错误:从初始化器列表转换为“const std :: uno
..
有没有什么从c + + 11,我可以使用和期望编译的二进制文件在旧系统上运行?我怎么能知道c ++ 11的哪些部分是libstdc ++的一部分,所以和什么实际上被编译成二进制?也许我不完全明白这样的事情如何工作。 清楚的例子: 说我编译一个使用auto和基于for循环的新范围的程序。这些东西看起来像他们应该在具有旧的c ++运行时的系统上工作,因为它们分解成在这些机器上有效的c ++
..
昨天,当使用Cygwin下使用GCC编译的DLL时,我遇到了一个很讨厌的崩溃。基本上,只要你运行一个调试器,你可能最终着陆在一个调试陷阱引起的RtlFreeHeap()接收一个地址,它没有分配。 这是一个针对Cygwin的 GCC 3.4 已知错误。出现这种情况是因为libstdc ++库包括对空字符串的“聪明”优化。我给你的详细信息(参见整篇文章的参考文献),但是每当你在一个DLL中为一个
..
我不确定如何使用 std :: istream :: exception (根据标准),让 std :: istream :: operator>> 如果不能将输入读入变量,则抛出异常,例如双。 下面的代码与clang / libc ++和gcc / libstdc ++有不同的行为: #include #include int ma
..
为什么这不编译(尝试与Clang 3.4.2和GCC版本4.7.4,4.8.3和4.9.1): #include struct E {E(int){}}; int main(){ std :: throw_with_nested(E(42)); return 0; } GCC错误4.9.1: 在/usr/lib/g
..
我使用libstdc ++在MAC上开发firefox扩展。我得到崩溃内部libstdc +库,当我指的是跨多个firefox扩展。我在想是否libstdc ++为XCode编译器是可重入或不。如果没有,是否有任何版本的libstdc ++是可重入的? 解决方案 请参阅HOWTO http:// www。 cs.huji.ac.il/~etsman/Docs/gcc-3.4-base/l
..
为了使用C ++ 11和c ++ 14的功能,我有一个应用程序使用 编译的新版本的gcc(4.9.1),因此更新版本的libstdc ++。该应用程序包含许多 小程序,所以我链接libstdc ++作为共享库,而不是静态 (即我不想使用-static-libstdc ++) 我想运行libstdc ++的新版本与/ opt // lib64 下的应用程序(注意:这是特别允许在GPL的
..
我想使用clst ++的std :: shared_ptr(clang版本3.1(trunk 143100))使用libstdc ++(4.6.1)。我有一个小演示程序: #include int main() { std :: shared_ptr some(new int); std :: shared_ptr其他(一些);
..
现在Mac OS X上可以存在多个C ++标准库,现在看起来像是一个混乱的情况。根据 http://stackoverflow.com/a/8457799/1772681 ,混合libstdc ++和libc ++将导致链接错误,它捕获这种危险的情况,是一件好事。 另一方面,还有2种情况需要更多的调查,我已经创建了几个测试用例在github gist( https://gist.github
..
if(player!= NULL) player-> shuffled(); 我这样做是为了避免传递null引用到字符串构造函数,错误。 解决方案 某处,你调用 std :: string 构造函数与 const char * 值NULL。 为了避免这个问题。不要这样做。
..
我希望使用clang中的 -fsanitize = memory 标志来分析以下程序: #include #include #include using namespace std; void writeToFile(){ ofstream o; o.open(“dum”); o
..
我的程序进入分段错误,我找不到原因。 GDB确认错误并产生回溯: 编程接收信号SIGSEGV,分段故障。 0xb7da6d6e在malloc.c中的malloc_consolidate(av =):5169 5169 malloc.c:没有这样的文件或目录。 in malloc.c (gdb)bt #0 0xb7da6d6e
..
Xcode 4.5中的“C ++标准库”和“C ++语言方言”的“编译器默认值”是什么值? 我的猜测是libstdc ++和GNU + +98,但很高兴有澄清。 从 Xcode 4.5发行说明: 使用此Xcode版本创建的项目使用标准C ++库的新libc ++ 实现。 libc ++库是 ,仅在iOS 5.0及更高版本和OS X 10.7及更高版本中可用。 12221787
..
虽然libstdc ++不支持,但libc ++遵循标示通过 ios_base :: failbit 到 basic_istream :: exceptions 对格式化输入没有影响。例如下面的代码: istringstream是{“ASD”}; double foo; is.exceptions(istream :: failbit); try { 是>> foo;
..
由于我最近升级到Mac OS X 10.9,默认标准C ++库已从libstdc ++更改为libc ++。从那时起,我观察到在下面的代码示例中记录的stringstream运算符>>(double)的意外行为。 总而言之,当double值后跟字母时,libc ++似乎在从stringstreams中提取双精度值有问题。 我已经检查标准(2003年),但是我找不到任何具体信息,如果提取
..
在C ++标准2014年11月的工作草案的 29.5原子类型中,它指出: 有一个通用类模板原子。模板参数T的类型应该是可复制的(3.9)。 [注意:不能静态初始化的类型参数可能很难使用。 - end note] #include struct Message { unsigned long int a; unsigned long int b; };
..
我试图让我的程序在另一台机器上工作,libstdc ++版本是不同的。我正在开发和编译它在netbeans。我已经指定选项-static-libstdc ++,但程序继续尝试加载libstdc ++。so.6在本地机器。 如何获得完全静态的libstdc ++链接? 谢谢。 解决方案 不确定这里的确切情况,但我遇到了类似的问题,刚刚与不同版本的Mac OS X和GCC。我通过将
..
使用略微修改的 Howard Hinnants的C ++ 11堆栈分配器版本,此处记录和这里使用 std :: basic_string 和使用编译 gcc libstdc ++ ,以下示例( 实时查看 ): const unsigned int N = 200; arena一个; short_alloc ac(a); std :: basic
..
我正在尝试使用文件系统。我在我的 CMakeLists.txt 中有 -std = c ++ 11 -std = c ++ 1y 。 GCC版本为 4.9.2 。但是,我有一个错误: /home/loom/MyProject/src/main.cpp:5:35:fatal错误:experimental / filesystem:没有这样的文件或目录 #include
..