所以,真正的交易是我在本网站内外进行了大量研究,没有这样的问题或解决方案可以帮助我.
我正在学习C编码.这不是什么大问题,因为我非常了解Python和C#(Unity).问题是我正在尝试在Python上做我以前做过的应用程序,但我遇到了一个问题:我正在Debian 8虚拟机(Oracle的虚拟盒)上编译我的程序,如下所示:gcc -lm -m64 -o file.exe file.c
.当我回到我的Windows 10机器(非虚拟)时,会发现我正在尝试运行的程序是一个不受支持的程序的16位版本,并且它无法运行它.我真的研究了很多,并且可以找到一些东西,我做的女巫......但是没有任何改变......所以,我认为在联系GCC程序或我的脚本bhaskara.c时有错误(是的,它是一个bhaskara公式计算器):
#include#include float main(){ double a, b, c, x1, x2; double delta; double d, e; printf("NOTE: If the numbers are integers, use .0 at the end(eg. 1 = 1.0)\n"); printf("A = "); scanf("%f", &a); printf("B = "); scanf("%f", &b); printf("C = "); scanf("%f", &c); d = b*b; e = (d + 4*a*c); delta = sqrt(e); printf("Delta = %f\n", delta); x1 = (-b + delta)/2; printf("X1 = %f\n", x1); x2 = (-b - delta)/2; printf("X2 = %f\n", x2); }
代码很难看,实际上,它只是一个测试......
我试过的事情: - 重新安装GCC - 运行不同的选项(-m32和-m64) - 编译whith*.exe并且没有它在使用之前添加它(不知道它是否有任何意义)-turning浮动到双打(代码;直到我所知,双打使用更多字节)
我的问题:我该怎么做才能解决这个问题?我的脚本是否存在错误,使其无法成为64位?我使用错误版本的GCC吗?(4.9.2;这就是我所知道的......)是否还有其他选项可用于选择处理器类型?并使其适用于各种处理器?在此先感谢,我真的很感激,如果有人能回答我的问题是什么,我真的很想编译...如果我的问题很难理解,请留下下面的内容,以便我可以编辑它.
绝对没有理由期望Debian安装GCC,默认情况下,构建Windows可执行文件.如果你file
在输出上运行,你可能会看到这样的东西:
ELF 64位LSB可执行文件,x86-64,版本1(GNU/Linux)
你需要一个这样的可执行文件:
用于MS Windows的PE32 +可执行文件(GUI)x86-64
这是两种完全不同的文件格式.Windows不会运行Linux可执行文件(除了使用某种模拟器),Linux不会运行Windows可执行文件(除了使用某种模拟器).您可以使用交叉编译器在Windows上构建Linux应用程序或在Linux上构建Windows应用程序.