-
Notifications
You must be signed in to change notification settings - Fork 19
标准系统函数部分解析
Kangxu Liu edited this page Mar 29, 2016
·
3 revisions
RPS 标准系统函数部分声明在 rpslib.h 中。
返回类型 | 函数 | 描述 |
---|---|---|
void | panic (...) | 输出错误信息,停止响应 |
void | sleep (unsigned int millisecond) | 暂停指定时间 |
panic 用于指出程序遇到了不可恢复的错误。这个函数输出一行错误信息,其中包含调用它的位置;随后进入无限空循环,阻止其后的代码运行。
-
... (additional arguments)
其中的第一个参数是一个字符串。与 printf 函数类似,根据字符串的不同,可能需要调用者传递额外的参数。panic 在解析格式化字符串时使用与 printf 相同的解析方式。
无
虽然 panic 被归到函数中,但其实它是一个宏。这个宏首先输出所在的文件和行号,然后调用 _panic 辅助函数。这个辅助函数借助 lp_print 辅助函数来解析传入的参数并完成输出。最后,_panic 函数进入空循环。所有输出均被写入到标准输出。
有关 lp_print 函数的相关内容,请参见 printf 函数的相关部分。
暂停指定时间。即使 millisecond 参数为 0,也会存在短暂暂停。sleep 函数并不精确,如果对暂停时间的精度有较为严格的需求,请不要使用 sleep 函数。
-
unsigned int millisecond
要暂停的时间,以毫秒为单位。
无
sleep 函数采用循环的方式实现,因此时间并不准确、稳定。暂停时间通过调用空函数 dummy 的次数进行控制。当时间为 0 时,sleep调用 150 次 dummy 函数;每当毫秒数增加 1 ,函数就多调用 1500 次 dummy 函数。