在clang ++下访问std :: xxx时失败

时间:2014-06-16 11:09:02

标签: mingw clang llvm mingw32 clang++

我正在clang 3.4.1windows下运行mingw32 (gcc 4.8.1)

我在clang下编译C程序并运行它没有问题。通过clang++编译C ++程序也没有问题。但是我在运行生成的C ++程序时遇到了问题。它失败并显示程序已停止的错误。我很确定它与std::有关,因为每当我调用std中的任何函数时失败都会失败。

这是我简单的C ++程序:

#include <iostream>

int main() {
  std::cout << "hello, world!" << std::endl;
  return 0;
}

我用这个命令编译:

clang++ Hello.cc -o Hello.exe

有什么建议吗?

编辑:我发现如果我std::cout << "hello, world!\n",它会优雅地终止。但是std::cout << "count: " << count产生了同样的错误。

显然,libstdc++-6.dll失败了。不幸的是,我没有源代码。

6FC59018  push        ebp  
6FC59019  mov         ebp,esp  
6FC5901B  mov         edx,dword ptr [ebp+0Ch]  
6FC5901E  mov         eax,dword ptr [ebp+8]  
6FC59021  lock xadd   dword ptr [eax],edx                ; Failed here
6FC59025  mov         eax,edx  
6FC59027  pop         ebp  
6FC59028  ret  

0 个答案:

没有答案