4

我有一个批处理文件来编译和链接我的所有代码。它包含以下内容:

@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 文件结尾,在 notepad++ 中,@echo off 和 pause 的语法被突出显示,无需手动设置。这是Windows 7的错误吗?还是我做错了什么?

4

2 回答 2

5

您是从命令行运行还是通过在资源管理器中双击运行?

也许您将“编辑”操作设置为默认值?

尝试右键单击并选择Open

编辑:也许你的线路终结器搞砸了。Windows 需要 CRLF。

在记事本++中:

  • 单击查看->显示行尾。
  • 如果它们不是 CRLF,请单击“格式”->“转换为 Windows 格式”。
于 2009-01-28T15:52:15.797 回答
1


安装 Windows 7的更简单示例
使用cygwin获取 gcc

我使用了以下批处理脚本:

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

在以下 c 文件中:

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

它编译得很好。

我的结论
Windows 7 批处理脚本的工作方式与以前版本的 Windows 非常相似。

简单的可能会绊倒你的东西
Windows 上默认没有安装 gcc,我建议cygwinmingw
gcc 在安装 gcc 后默认不在 PATH 上,你可以将它添加到系统的环境变量或添加到你的批处理脚本(使用类似于我刚刚使用的批处理脚本的第一行的东西)。

于 2009-01-28T15:35:52.117 回答