|
![]() | 作者: yuanrulai [yuanrulai]
![]() |
登录 |
环境为windows xp 同样的一个程序 #include<stdio.h> void main() { int i; for (i=0; i<=10; i++) { printf("%c", 7); //7为响铃 } } 在TC, win-tc 里面编译成功,但是不能响铃, 在VISUAL C++里面调试成功,并且能响铃。 在ms_dos 7.1下,我用汇编语言编的响铃程序也是不响,而且源程序错误的可能性非常小,请问这是怎么回事。小弟我先谢谢了! ![]() |
地主 发表时间: 05-03-31 18:21 |
![]() | 回复: lida1818 [lida1818] ![]() |
登录 |
PC扬声器接触不良![]() |
B1层 发表时间: 05-04-01 14:16 |
![]() | 回复: 286 [unique] ![]() |
登录 |
这个原因很简单。 你的程序响应该没问题的,并且与语言无关。也就是说汇编当然也可以响。 只是在不同的环境中就不一样了。DOS是个全开放的系统,任何程序可以作任何事情,而WIDNOWS由于保护就不能任由程序随便作了。 在VC中,你的响声由原来的直接传给PC扬声器现在转给了API,API再转给扬声器,这个响是正常的。而TC不知道什么叫API,直接调用PC扬声器,WIN系统一看,你不经过我还想用我的东西,没门!于是就不能响。 当然不同系统处理不完全一样,上面只是说明原理,不要拿特例非要找也所以然来。 |
B2层 发表时间: 05-04-01 14:46 |
![]() | 回复: jhkdiy [jhkdiy] ![]() |
登录 |
286的回复让我佩服!高啊。 |
B3层 发表时间: 05-04-01 16:45 |
![]() | 回复: yuanrulai [yuanrulai] ![]() |
登录 |
thank you very much!![]() ![]() |
B4层 发表时间: 05-04-01 18:07 |
|
20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon
粤ICP备05087286号