我写了一个简单的c ++程序来计算二次方程。我用u ++在ubuntu linux上编译它。
顺便说一下这是代码:
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
double a,b,c;
double x,x2;
cout<<"Give a: ";
cin>>a;
cout<<"Give b: ";
cin>>b;
cout <<"Give c: ";
cin>>c;
if (a==0)
{
if (b==0)
{
if (c==0)
{
cout<<"Solution indeterminable";
return 0;
}
else
{
cout<<"No solution";
return 0;
}
}
else
{
x=-c/b;
cout<<"The only root is x: "<<x;
return 0;
}
}
else
{
double b_sqr=b*b;
if (b_sqr>4*b*c)
{
cout<<"Complex roots: ";
return 0;
}
else if (b_sqr==4*b*c)
{
x=-b/(2*a);
cout<<"The only solution is x: "<<x;
return 0;
}
else
{
x=-b+(sqrt((b*b)-(4*a*c)))/(2*2);
x2=-b-(sqrt((b*b)-(4*a*c)))/(2*2);
cout<<"The first root is x1: "<<x;
cout<<"The first root is x2: "<<x2;
return 0;
}
}
}
现在当我试图在我的x64 Windows 7上运行它时,这就是我得到的:
不支持的16位应用程序:
由于与64位版本的Windows不兼容,程序或功能equation.exe无法启动或运行。请与软件供应商联系,询问是否有64位Windows兼容版本
我是作者,我写了simpe c ++来编写代码。怎么了兼容性的东西?
如何在Windows 7 x64中运行它? 谢谢!
答案 0 :(得分:2)
Windows无法运行以其他操作系统为目标的可执行文件。您需要使用面向Windows的编译器重新编译。例如,mingw可能是Windows使用最广泛的GCC端口。
答案 1 :(得分:0)
当我编译扩展名为.h的文件时,我遇到了与MinGW相同的问题;如果我在编译之前将源文件的扩展名更改为.cpp,则可执行文件与我的64位Windows 7兼容。原因是什么?不知道。我是个新人。