为float数据类型分配值会导致程序崩溃

时间:2014-02-06 21:06:11

标签: c++

我在这里失去理智。请有人帮我理解发生了什么。

#include    <stdio.h>
#include    <conio.h>
#include    <string.h>
#include    <windows.h>

int main(int argc, char *argv[])
{   
  float test;
  printf("You see me\n");
  test = 3;
  printf("Wont get here\n");

  return(0);
}

你看到我被打印出来然后应用程序崩溃才会打印到这里。

重要的是要注意,这在我的系统上编译并运行正常,但是当这个exe转移到32位的Windows XP机器时它会崩溃。

Ints,Bools,char数据格式工作正常,但是当我尝试使用浮点数/双打时,应用程序崩溃时没有错误。

我是否在某些人可以想到的Visual Studio Express 2013中正确编译?我应该检查自己进入当地的疯狂病房吗?

1 个答案:

答案 0 :(得分:0)

好的,在同事的帮助下找到了这个问题。

Windows机器有一个较旧的处理器Geode Integrated Processor。

在这里找到答案:http://msdn.microsoft.com/en-us/library/7t5yh4fd.aspx

  1. 打开项目的“属性页”对话框。
  2. 选择C / C ++文件夹。
  3. 选择代码生成属性页。
  4. 修改“启用增强指令集”属性。
  5. 在我的情况下,我需要将其更改为/ arch:IA32。巴姆!作品!谢谢大家的头脑风暴会议。