2013-02-20 15 views
0

我寫的Windows XP文件名 「的hello.c」 作爲簡單的Hello World應用:用以下命令編譯贏Vista的 - DOSBox中 - GCC - 世界你好 - 控制檯應用程序沒有運行

#include<stdio.h> 
int main(){ 
     printf("Hello World\n"); 
     return 0; 
} 

gcc hello.c 

現在與Windows Vista中另一臺機器上安裝了DOSBox中的應用,並試圖運行A.EXE由GCC編譯

的應用程序不運行,並提供以下信息:

This Program cannot be run in DOS mode. 

但是當我雙擊在a.exe的文件在Windows Explorer中運行,並說:

Hello World 

爲什麼這個消息來了.....

+2

'gcc'可能會生成一個在* console *中運行的應用程序,但* console *不是** DOS **。 – phoeagon 2013-02-20 15:14:19

回答

1

您編譯這個程序對於Windows而言,不適用於DOS。不起作用。您需要編譯該應用程序才能在DOS上工作。你爲什麼使用Dosbox?

1

你已經編譯了一個Windows程序,它只能在Windows下運行,而不能在DOS或者模擬DOS下運行。直接運行程序,無需DosBox。

0

Windows和DOS控制檯看起來相似並且共享一些相同類型的命令,但它們構建在兩個完全不同的操作系統上。

Windows控制檯模式應用程序運行現代32位或64位代碼,並可以訪問所有廣泛的Windows API。

DOS命令行是DOS的一部分,它是一個較老的操作系統,它主要運行16位代碼。它有自己獨立的API和約定,用於文件處理,內存管理和硬件支持等。這是DOSBox模擬的平臺。所以,DOSBox不會運行Windows程序。 (也就是說,它可以運行Windows本身的早期版本,因爲這些都是普通的DOS程序)。

  • 如果你想編譯程序在DOS下運行,你需要一個編譯器從那個時代對於該操作系統。 Turbo C++是個不錯的選擇(搜索'turbo C++ 3.0 abandonware')。

  • 如果你想編譯一個在控制檯中運行的Windows應用程序,那麼你現有的編譯器是完美的,但你不想DOSBox。改爲打開Windows命令提示符/行/東西(開始 - >運行 - >命令 - >輸入)。

+0

在贏vista/7/8有全屏的問題,然後如何解決 – 2013-02-20 17:35:25

+0

@ Vineet.Chandigarh什麼問題? – Boann 2013-02-20 18:44:14

相關問題