2014-10-01 192 views
-2

我试图编译程序,绘制使用命令提示符房子在Windows 8使用命令提示符

#include "graphics.h" 
int main(void) 
{ 
drawRect(50,100,200,150); 
drawLine(50,100,150,25); 
drawLine(150,25,250,100); 
drawRect(130,190,40,60); 
drawRect(70,195,40,30); 
drawRect(190,195,40,30); 
drawRect(70,125,40,30); 
drawRect(190,125,40,30); 
return 0; 
} 

我在同一个保存它的名义下house.c运行图形C程序文件夹作为我要使用的应用程序(drawapp.jar,graphics.c,graphics.h)。 当编译它,我用命令

gcc -o house house.c graphics.c 

和它的工作,但是当我想用命令

./house | java -jar drawapp.jar 

运行它,它显示了follwing错误

'.' is not recognized as an internal or external command, operable program or batch file 

的一点是这个例子在使用终端wondow的Linux操作系统上工作,但它不能在Windows上工作,所以我想还有另一个在Windows中运行程序的命令。 任何想法?

+2

为什么使用Java来运行C编译的程序? – Claudio 2014-10-01 09:41:18

+0

使用'。\ house' ... – thumbmunkeys 2014-10-01 09:43:08

+4

试试'house'我不相信你需要./。 – 2014-10-01 09:54:45

回答

0

在Windows上,应用程序必须是exe。只有这样它才会被执行。文件在相关的应用程序中打开。

在Windows上,./house不起作用。 house将不起作用,因为没有应用程序与house关联。 house只有在house.exe文件存在时才会起作用。

+0

不正确,您不一定需要.exe才能在Windows中运行程序。例如,如果你使用'gcc test.c -o test'进行编译,你可以通过输入'test'运行你的程序。 – Cantfindname 2014-10-01 11:21:55

+0

这个gcc会添加.exe扩展名来测试。如果没有用于测试的.exe扩展名,那么它在命令行中将不起作用。命令行运行该文件及其关联的应用程序(如果更改了注册表项,即使是.exe文件也不行)。 – doptimusprime 2014-10-01 11:23:28

+0

'房子只有在存在house.exe文件时才会工作.'如果没有house.exe(只有房屋文件在那里),它将不起作用。 – doptimusprime 2014-10-01 11:25:23