Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/124.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ fftw mingw预编译二进制文件和vs 2010的内存损坏?_C++_Visual Studio 2010_Fftw - Fatal编程技术网

C++ fftw mingw预编译二进制文件和vs 2010的内存损坏?

C++ fftw mingw预编译二进制文件和vs 2010的内存损坏?,c++,visual-studio-2010,fftw,C++,Visual Studio 2010,Fftw,我想知道是否有人在使用与VisualStudio2010项目链接的预编译mingw fftw二进制文件时从未遇到过内存损坏问题。奇怪的是,仅仅是fftw libs链接(由fftw doc解释的lib/def:libfftw3-3.def生成)就给我的项目带来了麻烦,即使没有调用任何fftw API。 好吧,我将按照作者的建议,在VS2010中从头开始编译fftw,但我很好奇,仅仅链接lib会产生副作用。据我所知,它似乎不是我们的C++代码的问题… 一些环境。细节:在VS 2010 中赢得32位非

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

中赢得32位非托管C++项目
谢谢大家!

fftw确实做了一些重要的代码生成/分析/CPU定位

很明显,第一次运行时他们就这么做了。所以可能有

  • 一个阻止初始分析运行成功的错误(尝试以管理员身份运行一次?)
  • 来自不兼容安装的剩余配置;iGues fftw将进行健全性检查,以验证找到的配置是否与当前运行的体系结构匹配,但如果该过程中出现问题,您可以通过查找并手动删除该配置数据来获益

  • 很抱歉,我不记得具体的(位置)

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

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

    您最好尝试使用VS2010重新编译fftw库(我假设源代码可用-希望使用MSVC重建不会太困难)


    有可能说服VS 2010使用msvcrt.dll运行时(微软会这样做),但细节不明显,我的笔记在别处。

    内存损坏的症状是什么?随机堆损坏、新操作符中的错误,调用外部dllsUpdate时出现结构化异常:似乎有一些VS2010项目文件可以帮助您使用该工具链构建fftw库: