问题标签 [libstdc++]

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 投票
3 回答
3105 浏览

c++ - 最新版gcc使用libstdc++.so.5

仍然使用 libstdc++.so.5(而不是 libstdc++.so.6)的最新版本的 gcc 是什么?

0 投票
1 回答
1663 浏览

c++ - GCC/Windows DLLs/C++ STL 前端有什么改进吗?

昨天,在 Cygwin 下使用 GCC 编译的 DLL 时,我遇到了一个相当烦人的崩溃。基本上,一旦您使用调试器运行,您最终可能会陷入由 RtlFreeHeap() 接收到它未分配的地址所引起的调试陷阱。

这是Cygwin上 GCC 3.4 的一个已知错误。出现这种情况是因为 libstdc++ 库包含针对空字符串的“聪明”优化。我为您省去了细节(请参阅本文中的参考资料),但是每当您在一个 DLL 中为“属于”另一个 DLL 的 std::string 对象分配内存时,您最终都会给一个堆释放一个来自另一个堆。因此RtlFreeHeap() 中的 SIGTRAP

当跨 DLL 边界引发异常时,还会报告其他问题。

一旦您的项目基于 DLL 和 STL,这使得 Windows 上的 GCC 3.4 成为不可接受的解决方案。我有几个选项可以跳过这个选项,其中许多非常耗时和/或烦人:

由于我正在使用其他一些工具,我也不能(还)切换到另一个编译器。我从一些 GCC 人那里得到的评论是“它几乎从未被报道过,所以这可能不是问题”,这让我更加恼火。

有人有这方面的消息吗?除了GNU Radio bug tracker上的一条评论外,我找不到任何明确的声明表明此问题已得到修复(该错误仍被标记为“已分配”)。

谢谢!

0 投票
1 回答
1622 浏览

linux - Static linking with pthreads & stdc++?

Is it possible to statically link my program with libpthreads and libstdc++ on Linux?

0 投票
3 回答
6948 浏览

linux - 如何在 Linux/gcc 上创建与 pthreads 和 libstdc++ 静态链接的共享对象?

如何在 Linux/gcc 上创建与 pthreads 和 libstdc++ 静态链接的共享对象?

0 投票
1 回答
5664 浏览

c++ - std::stringstream 奇怪的行为

一些背景信息,对于家庭作业,我必须使用二叉树编写波兰符号计算器,为此我必须解析命令行输入,以便正确构建二叉树,然后对其进行检查以给出有效答案到输入的数学表达式。

对于解析,我使用了 std::stringstream,以便能够轻松地将我收到的 std::string 转换为有效的浮点数(或整数、双精度)。我遇到的问题是以下代码,其中显示了错误以及我如何解决该问题。我希望有人能够告诉我我是否做错了什么并且 .clear() 不正确,或者这是标准库中处理此特定输入的方式的错误(仅发生在 +和 -)。

程序的示例输出:

也许你们会看到我错过的东西,或者如果这确实是我的程序之外的一个错误,在这种情况下,关于在哪里报告这个问题的指针将不胜感激。

0 投票
2 回答
905 浏览

c++ - 一个应用程序可以依赖于两个不同版本的 libstdc++ 吗?

一个应用程序可以同时依赖于两个不同版本的 libstdc++ 吗?(例如:libstdc++5 和 libstdc++6)?场景是 - 一些二进制文件依赖于 libstdc++ 6,但加载了一个依赖于 libstdc++5 的 .so ......

那会有工作的机会吗?

0 投票
2 回答
7011 浏览

linux - 如果我已经安装了 GLIBCXX_4.1.2,还需要 GLIBCXX_3.4.9?

我正在 Fedora 8/9 64 位 ( http://mediainfo.sourceforge.net/es/Download/Fedora )上安装最新版本的 MediainfoDLL 。我下载了 libmediainfo-0.7.20 和 libzen0-0.4.3 文件。

当我尝试安装 libzen0 时,我得到以下输出:

但是问题是我已经安装了4.1.2版本的libstdc++:

我怎么解决这个问题?

编辑:

0 投票
3 回答
6263 浏览

c++ - 避免链接到 libstdc++

我正在开发一个嵌入式项目,该项目目前在 Linux 和 uClibc 中使用 C。我们有兴趣将其移至 C++,但我不希望与 libstdc++ 中的链接相关的开销。我的印象是,如果我们不使用 STL 中的任何东西,例如 iostream 或 vector,这是可能的。

如何在不链接到 libstdc++ 的情况下直接编译 g++?

0 投票
4 回答
2902 浏览

gcc - 如何构建同时需要 libstdc++.so.5 和 libstdc++.so.6 的应用程序?

我想以重要的通知作为开头,我不是 C/C++ 程序员,并且对库的链接如何在 C 中工作知之甚少。

我们的代码使用 libstdc++.so.6(我认为是 gcc 3.4)。我们有使用 libstdc++.so.5(我认为是 gcc 2.something 或 3.2)的第三方预编译(闭源)库。这是在linux上。我们有第三方库的 .a 和 .so 版本。

是否可以使用 3rd 方库构建我们的应用程序?如何?是否可以在没有 libstdc++.so.5 安装我们的机器的情况下构建/运行我们的应用程序,如何?

如果我忘记了一些重要信息,请告诉我——我几乎不知道与这些东西有什么关系。我意识到一个完整的答案可能是不可能的;我真的在寻找方向和指导。静态链接这个,动态链接,重建那个,预构建某某,切换到版本 x,或符号链接 quizdoodle 等。

更新:

我们尝试使用dlopenwithRTLD_LOCAL将 3rd 方库与我们应用程序的其余部分隔离开来。这似乎大部分都有效,但是,由于未知原因,我们留下了大量的内存泄漏。我们怀疑,当我们调用.so.6 时,dlopen第三方库会malloc从已加载的 .so.6 中提取符号,而事情会变得混乱。

傻笑,我们尝试将第三方库放入LD_PRELOAD,然后运行我们的应用程序,内存泄漏似乎完全消失了。

0 投票
4 回答
1176 浏览

c++ - 使用一对迭代器进行字符串初始化

我正在尝试使用迭代器初始化字符串,类似这样的工作:

但这不是:

谢谢你。