小编use*_*445的帖子

使用Visual Studio 2012静态链接的msvcrt中的异常

在VS2012的静态链接版本中似乎存在问题.在旧系统上启动控制台应用程序会导致异常,无论何时使用流,尽管新系统根本不会造成任何问题.要重现此错误,就足够了

  • 在VS2012中创建一个新的控制台应用程序
  • 添加行std::ofstream f;std::cout << "Hello World";在主函数中(根据需要包括fstream或iostream)
  • 切换到v110_xp工具集(如果Windows XP需要)
  • 切换到静态链接库(/ MT)
  • 在旧系统上启动exe总是有一个例外.

使用ofstream或cout删除行总能解决问题.切换到动态链接的运行时库(/ MD)始终可以解决问题.在ofstream的情况下,使用大小优化(/ O1)或没有优化(/ Od)而不是速度优化(/ O2)解决了问题.

有没有人有想法或提示?提前致谢.

c++ msvcrt cpu-architecture sse2 visual-studio-2012

5
推荐指数
1
解决办法
456
查看次数

标签 统计

c++ ×1

cpu-architecture ×1

msvcrt ×1

sse2 ×1

visual-studio-2012 ×1