Visual C ++ 2012 cout在运行时崩溃

时间:2013-01-31 12:36:27

标签: c++ cout ostream

我决定今天尝试使用Visual Studio 2012 Express。首先要写的是“Hello world!”然而,应用程序,我无法使它工作。我创建了一个Windows控制台应用程序项目,编写了标准代码,导致运行时错误。

这是我的代码:

#include <iostream>

using namespace std;

int main()
{
    cout << "Hello world!" << endl;

    system("pause");
    return 0;
}

看起来有些东西坏了(也许我错过了什么?)。它在第7行遇到运行时错误:

http://img443.imageshack.us/img443/7497/coutbroken.png

请帮忙吗? :)

2 个答案:

答案 0 :(得分:17)

由于DeadMG的回答是粗鲁和模糊的:

Visual Studio 2012 targets SSE2-enabled machines by default,其中包括过去十年中制作的几乎所有处理器。不幸的是,您的AMD Athalon XP已有12年历史,并且没有SSE2,因此要运行您的程序,您需要禁用这些说明。

在Visual Studio 2008上(您没有这个),方法是打开“解决方案窗口”,右键单击项目 - &gt;属性 - &gt;配置属性 - &gt; C ++ - &gt;代码生成 - &gt;启用增强指令集。将其设置为“未设置”。

您有Visual Studio 2012(我没有),因此您的说明会有所不同。官方说明如下:打开项目的“属性页”对话框,选择“C / C ++”文件夹,选择“代码生成”属性页,然后选择“修改启用增强指令集”属性。 source

答案 1 :(得分:13)

您的CPU迫切需要被废弃。您的编译器可能是从本世纪开始为CPU设置的。您可以禁用SSE2等新指令。