【发布时间】:2012-02-16 16:02:43
【问题描述】:
今天我更新了 MinGW 并重建了我当前的 C++ 项目。自使用 4.5.0 以来,我已经记录了时间信息,并且在使用 4.6.2 版本进行编译时,我看到了巨大的性能损失(大约慢了 4 倍)。
我的构建命令:
g++ -Ilib\svl-1.5\include -Ilib\SDL-1.2.15\include -static-libgcc -static-libstdc++ \
-Ofast -O3 -oecl.exe src\ecl.cpp -lmingw32 -lSDLmain -lSDL -std=c++0x
我在 Window 64 位系统上运行 MinGW。
你知道是什么导致了这种糟糕的表现吗?
我的 bin 文件夹包含一个名为 mingw32-gcc-4.5.0 的文件。 MinGW 4.6 release notes page 表示它可以用于与旧版本一起编译。不幸的是,g++ 没有这样的二进制文件。我读到 gcc 也能够编译 C++,但在我的情况下它不起作用,我只是得到了大量的错误。我只在人们询问如何使用 gcc 编译 C++ 程序的网站上找到了使用 g++ 的提示。
有没有办法让我的 C++ 程序使用 mingw32-gcc-4.5.0 编译?如果没有,还有其他方法可以使用 4.5.0 版进行编译吗?
我想确保糟糕的性能不是由我的代码更改引起的。
编辑
通过运行我在 2010 年下载的旧 MinGW 安装程序,我设法再次安装了 4.5.0。我将代码和构建批处理文件恢复到昨天的状态。还是表现不佳。 MinGW 是否在其安装目录之外安装 DLL 或其他相关文件?
【问题讨论】:
-
如果您可以尝试找出性能下降的原因,这可能对其他人(以及您自己)有所帮助。
标签: c++ windows performance mingw