一个悬而未决的问题 - 但我无法找到任何地方开始!!
我想编译一个“Hello World”MS-DOS exe。
不是在XP 16位模式下运行的程序,也不是在Windows操作系统之上的MSDos模式下运行的程序。
我可以在我的MSDOS盒子上运行的HELOWRLD.EXE。
Thanksyou!
答案 0 :(得分:24)
我认为DEBUG.EXE
仍然附带Windows(至少它与XP有关)。运行debug并输入以下脚本中的内容:
c:\src> debug
-a 100
1373:0100 mov ah,9
1373:0102 mov dx,108
1373:0105 int 21
1373:0107 ret
1373:0108 db "Hello world!$"
1373:0115
-n c:\hi.com
-r bx
BX 0000
:0
-r cx
CX 0000
:15
-w
Writing 00015 bytes
-q
c:\src> c:\hi.com
Hello world!
c:\src> _
在DEBUG.EXE上阅读更多内容:http://en.wikipedia.org/wiki/Debug_(command)
INT 21显示字符串http:http://www.uv.tietgen.dk/staff/mlha/PC/Prog/asm/int/21/09.htm
答案 1 :(得分:8)
请按照以下步骤操作:
这是你应该复制的代码(*):
int main(int argc, char **argv)
{
printf("Hello, world.\n");
return 0;
}
答案 2 :(得分:4)
DJGPP是一个完整的32位C / C ++ 英特尔80386的开发系统 (和更高)运行DOS的PC。它 包括许多GNU开发的端口 公用事业。开发工具 要求80386或更新的计算机 和他们制作的节目一样。 在大多数情况下,它的程序 产品可以商业销售 没有许可证或版税。
答案 3 :(得分:2)
对于C和C ++开发,请使用以下免费和开源编译器之一:
答案 4 :(得分:2)
这将在DOS中的命令行调试器中直接执行。 http://www2.latech.edu/~acm/helloworld/dosdebug.html
它写的是COM文件,而不是EXE(有区别),但对你来说应该是一个好的开始。
答案 5 :(得分:0)
您想要一个MS-DOS C编译器。还有旧版本的Borland C漂浮在周围吗?此外,您可能会找到适用于DOS的GNU C编译器的端口。
答案 6 :(得分:0)
安装Turbo C / C ++ 16位编译器。然后创建新的noname00.c
文件
将此代码写入其中。
//Include necessary files stdio.h and conio.h for function prototypes.
//The "int agrc , char *argv[]" are optional parameters to main program.If you don't want to use //it you can just write "int main()"
int main(int argc,char *argv[])
{
printf("Hello World !!!!");
getch();
return 0;
}
此编译器生成的.exe文件可以在源目录中找到 尝试在您自己的MS-DOS Box中运行它 它应该运行。
答案 7 :(得分:0)
对于Pascal,你会想要Free Pascal。它生成像DJGPP这样的32位Go32v2二进制文件,并且可以编译旧的TP代码。
Windows®> 16位Dos编译器(可生成.COM)也正在进行工作,但在工作时,尚未在已发布的分支中进行。