2014-10-01 240 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