29 个解决方案
#1
用TC不是更好..
#2
VC1.5 这没用过
如楼上说的 tc应该很熟悉
教学工具啊
如楼上说的 tc应该很熟悉
教学工具啊
#3
TC2.0中内嵌汇编编译通不过:In-line assembly not allowed in function
#4
如何用vc++6.0编写可以在纯DOS下运行的程序??
#5
/*************** C内嵌汇编示例 ***************/
#include "stdio.h"
#include "conio.h"
int min(int v1, int v2)
{
asm mov ax,v1;
asm cmp ax,v2;
asm jle minexit;
asm mov ax,v2;
minexit:
return(_AX);
}
int main(void)
{
printf("min(10,3) is %d\nmin(34,552) is %d",min(10, 3),min(34, 552));
getch();
return 0;
}
/*TC下成功*/
#include "stdio.h"
#include "conio.h"
int min(int v1, int v2)
{
asm mov ax,v1;
asm cmp ax,v2;
asm jle minexit;
asm mov ax,v2;
minexit:
return(_AX);
}
int main(void)
{
printf("min(10,3) is %d\nmin(34,552) is %d",min(10, 3),min(34, 552));
getch();
return 0;
}
/*TC下成功*/
#6
In-line assembly not allowed in function
内部汇编语句不允许。源文件中含有直接插入的汇编语句,若在集成环境下进行编译,则出现此类错误。必须使用TCC命令行编译此源文件。
内部汇编语句不允许。源文件中含有直接插入的汇编语句,若在集成环境下进行编译,则出现此类错误。必须使用TCC命令行编译此源文件。
#7
du51(郁郁思扬) 的程序TC2.0下还是通不过:( 错误提示同上
#8
不会吧....输出结果如下:
/*
min(10,3) is 3
min(34,552) is 34
*/
????
对对....我用的是WIN-TC.
但是,WIN-TC是TC的内核呀.
/*
min(10,3) is 3
min(34,552) is 34
*/
????
对对....我用的是WIN-TC.
但是,WIN-TC是TC的内核呀.
#9
用VC创建工程的时候,选择console模式
#10
使用TCC编译后生成一个ASM文件,然后呢?
to net_worm(三流):选择console模式它依然是win32程序,不能在纯DOS下运行
du51(郁郁思扬):可能两者的输出还是不一样的吧
to net_worm(三流):选择console模式它依然是win32程序,不能在纯DOS下运行
du51(郁郁思扬):可能两者的输出还是不一样的吧
#11
当然可以,但你要用标准的c/c++写代码。不要用windows的一些东西。
你也可以用DEV-C++这是从LINUX上移植来的,很好用。
你也可以用DEV-C++这是从LINUX上移植来的,很好用。
#12
控制台程序啊
#13
控制台程序无法在纯Dos下运行啊。怎么许多人不明白。
#14
搞笑。
VC6.0所产生的可执行文件工作在保护模式下,而DOS是实模式的,两者模式都不一样,VC6.0写的C程序不用想都知道不能在DOS下用的。在DOS下用的EXE,要用实模式的编译器例如tc2.0编写。
VC6.0所产生的可执行文件工作在保护模式下,而DOS是实模式的,两者模式都不一样,VC6.0写的C程序不用想都知道不能在DOS下用的。在DOS下用的EXE,要用实模式的编译器例如tc2.0编写。
#15
VC++、BCB、Delphi都可以用来写纯DOS程序,需要用WDOSX的转换器进行转换。
虽然有一些限制,不过总的来说还是不错的。
虽然有一些限制,不过总的来说还是不错的。
#16
PS:DOS也可以运行保护模式程序,带上DPMI扩展器就可以了。
watcom c++、BC++ 4+、Turbo Pascal 6+、DJGPP、Free Pascal等等,都可以生成保护模式的DOS程序。
watcom c++、BC++ 4+、Turbo Pascal 6+、DJGPP、Free Pascal等等,都可以生成保护模式的DOS程序。
#17
楼主需要的是能编译出纯DOS的编译器吧 或者确切一点是链接器 TC似乎可以哦 VC没看到这个选项
#18
刚刚google到这个东西 DJGPP.--GCC for DOS
还是GCC强 呵呵 楼主自己研究
还是GCC强 呵呵 楼主自己研究
#19
PS:DOS也可以运行保护模式程序,带上DPMI扩展器就可以了。
-----------------------------------------------
DOS当然可以运行保护模式程序,DPMI是DOS的保护模式接口规范,但程序需要为DPMI编写专门的代码,VC6.0编译出来的环境并不是为DPMI而写的,它直接使用保护模式,这是不能直接在DOS下用的。
-----------------------------------------------
DOS当然可以运行保护模式程序,DPMI是DOS的保护模式接口规范,但程序需要为DPMI编写专门的代码,VC6.0编译出来的环境并不是为DPMI而写的,它直接使用保护模式,这是不能直接在DOS下用的。
#20
BC31
#21
VC6.0编译出来的要在DOS下用?醒醒吧
#22
不可能
#23
用 TC3.0 或 BC 3.1 都行
#24
要在DOS7.0前的版本运行啊,最好是找老的编译器。
新的编译器不见的支持。
新的编译器不见的支持。
#25
TC2.0应该可以,以前试过的,嵌入汇编没问题的
#26
when you creat a new project.choose the win32 console application .that's does work
#27
楼上的,语法错了.
That dose work. 不是that's does work.
呵呵:)
You have already mentioned "win32" which apparently shows that this program will never works in DOS envirenment(win16).
That dose work. 不是that's does work.
呵呵:)
You have already mentioned "win32" which apparently shows that this program will never works in DOS envirenment(win16).
#28
win16支持win32s,所以某些(甚至很多)win32应用确实可能运行在win16上,比如autocad12。
但是console应用确实不是DOS程序,那只是non-gui win32程序。
但是console应用确实不是DOS程序,那只是non-gui win32程序。
#29
thanks for your explaination.
#1
用TC不是更好..
#2
VC1.5 这没用过
如楼上说的 tc应该很熟悉
教学工具啊
如楼上说的 tc应该很熟悉
教学工具啊
#3
TC2.0中内嵌汇编编译通不过:In-line assembly not allowed in function
#4
如何用vc++6.0编写可以在纯DOS下运行的程序??
#5
/*************** C内嵌汇编示例 ***************/
#include "stdio.h"
#include "conio.h"
int min(int v1, int v2)
{
asm mov ax,v1;
asm cmp ax,v2;
asm jle minexit;
asm mov ax,v2;
minexit:
return(_AX);
}
int main(void)
{
printf("min(10,3) is %d\nmin(34,552) is %d",min(10, 3),min(34, 552));
getch();
return 0;
}
/*TC下成功*/
#include "stdio.h"
#include "conio.h"
int min(int v1, int v2)
{
asm mov ax,v1;
asm cmp ax,v2;
asm jle minexit;
asm mov ax,v2;
minexit:
return(_AX);
}
int main(void)
{
printf("min(10,3) is %d\nmin(34,552) is %d",min(10, 3),min(34, 552));
getch();
return 0;
}
/*TC下成功*/
#6
In-line assembly not allowed in function
内部汇编语句不允许。源文件中含有直接插入的汇编语句,若在集成环境下进行编译,则出现此类错误。必须使用TCC命令行编译此源文件。
内部汇编语句不允许。源文件中含有直接插入的汇编语句,若在集成环境下进行编译,则出现此类错误。必须使用TCC命令行编译此源文件。
#7
du51(郁郁思扬) 的程序TC2.0下还是通不过:( 错误提示同上
#8
不会吧....输出结果如下:
/*
min(10,3) is 3
min(34,552) is 34
*/
????
对对....我用的是WIN-TC.
但是,WIN-TC是TC的内核呀.
/*
min(10,3) is 3
min(34,552) is 34
*/
????
对对....我用的是WIN-TC.
但是,WIN-TC是TC的内核呀.
#9
用VC创建工程的时候,选择console模式
#10
使用TCC编译后生成一个ASM文件,然后呢?
to net_worm(三流):选择console模式它依然是win32程序,不能在纯DOS下运行
du51(郁郁思扬):可能两者的输出还是不一样的吧
to net_worm(三流):选择console模式它依然是win32程序,不能在纯DOS下运行
du51(郁郁思扬):可能两者的输出还是不一样的吧
#11
当然可以,但你要用标准的c/c++写代码。不要用windows的一些东西。
你也可以用DEV-C++这是从LINUX上移植来的,很好用。
你也可以用DEV-C++这是从LINUX上移植来的,很好用。
#12
控制台程序啊
#13
控制台程序无法在纯Dos下运行啊。怎么许多人不明白。
#14
搞笑。
VC6.0所产生的可执行文件工作在保护模式下,而DOS是实模式的,两者模式都不一样,VC6.0写的C程序不用想都知道不能在DOS下用的。在DOS下用的EXE,要用实模式的编译器例如tc2.0编写。
VC6.0所产生的可执行文件工作在保护模式下,而DOS是实模式的,两者模式都不一样,VC6.0写的C程序不用想都知道不能在DOS下用的。在DOS下用的EXE,要用实模式的编译器例如tc2.0编写。
#15
VC++、BCB、Delphi都可以用来写纯DOS程序,需要用WDOSX的转换器进行转换。
虽然有一些限制,不过总的来说还是不错的。
虽然有一些限制,不过总的来说还是不错的。
#16
PS:DOS也可以运行保护模式程序,带上DPMI扩展器就可以了。
watcom c++、BC++ 4+、Turbo Pascal 6+、DJGPP、Free Pascal等等,都可以生成保护模式的DOS程序。
watcom c++、BC++ 4+、Turbo Pascal 6+、DJGPP、Free Pascal等等,都可以生成保护模式的DOS程序。
#17
楼主需要的是能编译出纯DOS的编译器吧 或者确切一点是链接器 TC似乎可以哦 VC没看到这个选项
#18
刚刚google到这个东西 DJGPP.--GCC for DOS
还是GCC强 呵呵 楼主自己研究
还是GCC强 呵呵 楼主自己研究
#19
PS:DOS也可以运行保护模式程序,带上DPMI扩展器就可以了。
-----------------------------------------------
DOS当然可以运行保护模式程序,DPMI是DOS的保护模式接口规范,但程序需要为DPMI编写专门的代码,VC6.0编译出来的环境并不是为DPMI而写的,它直接使用保护模式,这是不能直接在DOS下用的。
-----------------------------------------------
DOS当然可以运行保护模式程序,DPMI是DOS的保护模式接口规范,但程序需要为DPMI编写专门的代码,VC6.0编译出来的环境并不是为DPMI而写的,它直接使用保护模式,这是不能直接在DOS下用的。
#20
BC31
#21
VC6.0编译出来的要在DOS下用?醒醒吧
#22
不可能
#23
用 TC3.0 或 BC 3.1 都行
#24
要在DOS7.0前的版本运行啊,最好是找老的编译器。
新的编译器不见的支持。
新的编译器不见的支持。
#25
TC2.0应该可以,以前试过的,嵌入汇编没问题的
#26
when you creat a new project.choose the win32 console application .that's does work
#27
楼上的,语法错了.
That dose work. 不是that's does work.
呵呵:)
You have already mentioned "win32" which apparently shows that this program will never works in DOS envirenment(win16).
That dose work. 不是that's does work.
呵呵:)
You have already mentioned "win32" which apparently shows that this program will never works in DOS envirenment(win16).
#28
win16支持win32s,所以某些(甚至很多)win32应用确实可能运行在win16上,比如autocad12。
但是console应用确实不是DOS程序,那只是non-gui win32程序。
但是console应用确实不是DOS程序,那只是non-gui win32程序。
#29
thanks for your explaination.