У меня есть проект C #, настроенный для целевой платформы x86. Приложение отлично работает в WinXP, но в Win7 возникает проблема. Я использую VS2008.
Пожалуйста, посмотрите тестовый код ниже (проблема: он печатает 0 в WinXP и 1 в Win7).
Примечание: код также отлично работает в Win7, если он работает в режиме отладки или добавляет строку трассировки.
Пожалуйста, сообщите, спасибо!
using System;
using System.Windows.Forms;
namespace Hello
{
public partial class MainForm : Form
{
public MainForm()
{
//The problem: it shows "0" in WinXP, and shows "1" in Win7
MessageBox.Show(Test.GetValue().ToString());
Environment.Exit(0);
}
}
public class Test
{
static int a = 0;
static public float GetValue()
{
float b = 0.8149883f;
float x = (696f / b + a);
//Note: it returns 0 if uncomments the line below, otherwise it returns 1
//MessageBox.Show("hello");
return (x - (int)x);
}
}
}