永发信息网

C语言中断问题

答案:2  悬赏:80  手机版
解决时间 2021-03-09 12:59
这段程序 可以吧俄罗斯方块下降速度加快 但实在不知道怎么回事 麻烦能详细解答下嘛void interrupt(*oldTimer)(void); void KillTimer() { disable(); setcect(TIMER; } void interrupt newtimer(void) { *oldtimer(); TimerCounter++; } 在知道什么意思,TimerCounter是自己定义的变量,oldtimer); } void SetTimer(void interrupt(*IntProc)(void)) { oldtimer = getvect(TIMER); disable(); enable(); enable(); setvect(TIMER,IntProc)
最佳答案


我又看到了 传说中的 interrupt 关键字,毕竟是同一家出的,但网上大部分是精简版。他的帮助里都有。(TC里也有可能有oldTimer 中断函数
setvect 设置中断函数

这部分技术是DOS的,距今已有些久远。你下个 borland c++ 3.1,如果还能找到的话,下到那个可就不好说有没有了,borland 独有。
全部回答
标准c语言没有中断调用机制,但是不同编译器都有相应的中断处理方式,可以使用户实现中断功能。 下面是我曾经写过的一片跟中断有关的东西,希望对你有帮助。 ~~~~~~~~~~~~~~~~~~~~~~~~~ 曾经设计俄罗斯方块,采取延时的方法,比如每次循环延时100毫秒,但是这个期间无法响应键盘的请求,游戏总的来说感觉卡卡的。 现在想想解决方案还真不少: 1、采取轮询的方式解决,就是每10毫秒检查一下是否有键盘请求,总的来说,这样基本上可以解决问题,而且简单易行,但每10毫秒都要检查,系统消耗太大。 2、采取中断的方式: (1)用高级语言调用中断来处理问题。中断是cpu响应一个中断外围设备8259a的一个过程,当键盘敲击,cpu保存断点暂停执行并且跳到相应的中断处理程序继续执行,结束后根据断点再跳回来。通过这种方式可以轻松+愉快地解决这个问题。但是需要用到高级语言调用汇编,根据编译器的不同而有所差别。 (2)自己模拟中断。可以另外建立一个线程专门响应键盘的敲击,如果有敲击则打断主线程。这样做实现起来很复杂,而且涉及到不少复杂的关键技术,比如信号量之类的鬼东西~。 3、强大的vc 原来一直感觉vc只是一个编译器,现在才发现,vc也可以是一种语言。vc采取了消息映射的机制来处理外部设备的请求,比如时钟中断、键盘中断等等。通过此可以灰常灰常容易的处理外部中断。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
请问一下,从山东师范大学长清校区到达济南西
女孩当男友面让别的男人喂饭吃.男友当场怒了
抗美援朝的战场上,有些志愿军战士到傍晚时眼
黄飞鸿舞的狮子是属于哪种类型的?
5千左右买什么牌子的架子鼓呀
化肥厂农场我想知道这个在什么地方
【翠竹对什么】对对子,挺拔的翠竹对什么
男人为什么使唤女人?
三菱电梯公司是个好公司吗?做销售助理好吗?
youngflu中文是什么意思
君萍食品商店怎么去啊,有知道地址的么
土地像火烧了一样的还能种庄稼吗
【当真的读音】此话当真的当的读音是什么?
铁山冷榨花生油坊怎么去啊,有知道地址的么
委托人未能按合同约定的时间支付相应酬金超过
推荐资讯
8个苹果放5个口袋并且都要双数能做到么
我想应聘淘宝客服,怎样自我描述简历,才能应
女性,23岁,想补充些维生素,汤臣倍健这个品
《徐悲鸿的故事》中的中心思想是啥
曾都区尚市镇星巩村村民委员会在什么地方啊,
如何辨别新茶和陈茶
我国的棕榈油期货合约和菜子油期货合约分别是
it that your father?yes,it's
如何在 Windows 平台安装与使用 Yeoman 1.0
了不起的盖茨比 为什么了不起
马云的网商银行贷款上征信吗
读后感八十字
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?