Tag: mingw w64

使用C ++ 11期货:std ::asynchronous崩溃的嵌套调用:编译器/标准库的错误?

在我的真实程序中引入std :: async的嵌套调用时遇到崩溃后,我能够在以下最小的示例中重现该问题。 它经常崩溃,但并不总是。 你看到什么东西出了问题,还是它是一个编译器或标准库的错误? 请注意,如果添加对期货的get()调用,问题仍然存在。 #include <future> #include <vector> int main (int, char *[]) { std::vector<std::future<void>> v; v.reserve(100); for (int i = 0; i != 100; ++i) { v.emplace_back(std::async(std::launch::async, [] () { std::async(std::launch::async, [] { }); })); } return 0; } 我观察到两种不同的崩溃:(大约每五分钟一次) 终止与“这个应用程序已经要求运行时间以一种不寻常的方式终止”。 抛出“std :: future_error”的实例后,什么():Promise已经满足了 。 环境: Windows 7的 gcc版本4.8.2(i686-posix-dwarf-rev3,由MinGW-W64项目构build),由Qt 5.3.2提供 命令行调用: g++ […]

如何安装MinGW-w64和MSYS2?

我正在尝试构build一些开源库。 我需要包pipe理系统来轻松下载依赖关系。 起初我使用MinGW+MSYS 。 但是包含的软件包是有限的。 有人告诉我使用MinGW-w64 + MSYS2 。 我从这里下载了mingw-w64-install 。 运行时,会报告以下错误。 如何解决它? 顺便说一句,从MinGW-w64下载页面,我看到了很多下载链接。 即使Cygwin被列出。 Cygwin和MinGW-w64是如何相关的? 我当前的理解是,在MinGW+MSYS ,MSYS只是MinGW的一个很好的插件,而在MinGW-w64 + MSYS2 ,MSYS2是独立的,MinGW-w64只是一个可以工作的库。 就像Cygwin可以下载许多不同的包装一样。

sjlj vs dwarf vs seh有什么区别?

我无法find足够的信息来决定使用哪个编译器来编译我的项目。 在不同的计算机上有几个程序模拟一个进程。 在Linux上,我正在使用GCC。 一切都很好。 我可以优化代码,它编译速度快,使用不太多的内存。 我用MSVC和GCC编译器做我自己的基准testing。 稍后会产生稍微更快的二进制文件(对于每个子体系结构)。 虽然编译时间比MSVC多得多。 所以我决定使用MinGW。 但在MinGW中找不到有关exception处理方法及其实现的解释。 我可以针对不同的操作系统和体系结构使用不同的发行版。 注意事项: 编译时间和内存对于我的使用来说并不重要。 只有重要的是运行时优化。 我需要我的程序足够快。 慢速编译器是可以接受的。 操作系统:Microsoft Windows XP / 7/8 / Linux 架构:英特尔酷睿i7 / Core2 /和一个非常古老的i686运行XP:P