首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >内存崩溃与fftw mingw预编译二进制文件和vs 2010?

内存崩溃与fftw mingw预编译二进制文件和vs 2010?
EN

Stack Overflow用户
提问于 2011-05-18 03:55:41
回答 2查看 448关注 0票数 0

我想知道是否有人在使用与visual studio 2010项目链接的预编译的mingw fftw二进制文件时从未遇到过内存崩溃问题。奇怪的是,仅仅是fftw libs链接(由lib /def:libfftw3-3.def生成,由fftw文档解释)就会给我的项目带来麻烦,即使没有任何fftw API被调用。好吧,我将尝试按照作者的建议在VS2010中从头开始编译fftw,但我很好奇的是,仅仅链接库就会产生副作用。据我所知,这似乎不是我们c++代码的问题……

一些环境。详细信息: vs 2010中的win 32位非托管c++项目

谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-05-18 04:10:15

我不知道fftw库是什么,所以我不确定它可能具体做了什么导致不稳定。DLL有可能在加载时执行代码,因此您没有主动调用它并不一定意味着它什么都不做。

然而,MinGW链接到随Windows系统分发的msvcrt.dll运行时,而使用VS2010中的DLL运行时的普通构建将链接到MSVCRT100.DLL。混合运行时DLL是一个可能导致神秘问题的领域,特别是如果分配是从一个运行时进行的,并在另一个运行时释放(甚至在另一个运行时使用,我相信如果涉及调试运行时)。

你最好的选择可能是尝试用VS2010重新编译fftw库(我假设源代码是可用的-希望用MSVC重新编译不会太困难)。

说服VS2010使用msvcrt.dll运行时是可能的(微软就是这么做的),但细节并不明显,我的笔记在其他地方。

票数 1
EN

Stack Overflow用户

发布于 2011-05-18 04:09:19

fftw确实做了一些繁重的代码生成/分析/CPU目标确定;

显然,他们在第一次运行时就这样做了。所以可能会有

  1. 阻止初始分析运行成功的错误(尝试以管理员身份运行一次?)
  2. 来自不兼容安装的剩余配置;我猜fftw将执行健全性检查,以验证找到的配置是否与当前运行的体系结构匹配,但如果在此过程中出现错误,您可以从查找并手动删除该配置data

中获益

对不起,我记不住细节(位置)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6036347

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档