2009-01-28 65 views
4

我有一個批處理文件來編譯和鏈接我的所有代碼。它包含以下內容:Windows 7上的批處理文件問題

@echo off 
nasm -f aout -o start.o start.asm 
gcc -Wall -O -fstrength-reduce -fomit-frame-pointer -finline-functions -nostdinc -fno-builtin -I./include -c -o main.o main.c 
gcc -Wall -O -fstrength-reduce -fomit-frame-pointer -finline-functions -nostdinc -fno-builtin -I./include -c -o scrn.o scrn.c 
ld -T link.ld -o kernel.bin start.o main.o scrn.o 
pause 

問題是,當我運行它,它只是打印出這一切爲文本。 這絕對是一個批處理文件。它有.bat文件結尾,並且在記事本++中,@echo關閉和暫停的語法高亮顯示,而不是手動設置。 這是一個Windows 7的錯誤?或者我做錯了什麼?

回答

5

您是從命令行運行還是通過雙擊Explorer?

也許你有編輯動作設置爲默認值?

嘗試右鍵單擊並選擇打開

編輯:也許你的行結束符搞砸了。 Windows期望CRLF。

在記事本++:

  • 點擊查看 - >顯示行尾。
  • 如果它們不是CRLF,請單擊「格式」 - >「轉換爲Windows格式」。
+0

我已經試過並且他們都做同樣的事情 – 2009-01-28 17:52:14

1

一個簡單的例子
Windows 7的安裝
使用cygwin讓GCC

我用下面的批處理腳本:

PATH = %PATH%;C:\cygwin\bin; 
gcc test.c 

在下面的C文件:

main() { 
     printf("hello, world"); 
} 

它編譯得很好。

我的結論
Windows 7的批處理腳本在以前版本的Windows的工作非常像。

可能會發覺你的
的gcc默認是不安裝在Windows上簡單的事情,我建議要麼cygwinmingw
的gcc沒有在默認情況下,PATH您已經安裝GCC後,你可以將其添加到系統的環境變量或將其添加到批處理腳本中(使用類似我剛剛使用的批處理腳本的第一行)。

+0

我在我的路徑中設置了djgpp。如果我只是手動鍵入命令,它工作正常。但它沒有做任何事情,只是在批處理文件中打印行號 – 2009-01-28 17:51:43