常驻内存程序如何叠函数?

烤火的鱼 2000-02-16 06:56:00
我用TC做了一个常驻内存程序,通过1CH中断显示系统时间,一切正常,但用printf()等函数时无效(直接写屏可以通过),该如何处理?
...全文
130 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
jiangtao 2000-02-17
  • 打赏
  • 举报
回复
你需要去看<未公开Dos秘密>一书
ad 2000-02-17
  • 打赏
  • 举报
回复
printf()等函数要调用DOS的中断向屏幕输出字符,但驻留程序执行这些功能时本身处于中断处理过程中,早期的DOS版本中这样做会导致死机,现在不死机已是不错了。这就是DOS的“不可重入”问题,是Bill.Gates留下来的不可解决的问题,你就别指望使用printf了,不过cprintf()、cputch()等函数好象可以用,因为这些函数直接向控制台(屏幕)输出字符,不调用DOS的中断。你最好不要在驻留程序中使用xprintf()函数,因为此函数开销大,而驻留程序以短小精悍、高效、占用资源少为准则。

69,375

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧