我是靠谱客的博主 魔幻夕阳,这篇文章主要介绍linux usleep函数参数溢出(睡眠多少微秒),现在分享给大家,希望可以做个参考。


usleep函数的参数类型为unsigned int

https://linux.die.net/man/3/usleep


复制代码
1
(1)usleep((0xffffff*1000));




由于传入的参数溢出被截断,


0xffffff*1000只运行了3892秒。



复制代码
1
(2) usleep((0xffffffff));

传入的参数刚好是usleep可接受的最大值,


0xffffffff运行了4295秒。比0xffffff*1000运行


的时间还要长





复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include <stdio.h> #include <time.h> #include <stdlib.h> #include <string.h> #include <unistd.h> typedef unsigned long U32; void func() { U32 a ,b; a = time(NULL); printf("====%lu===",a ); //usleep((0xffffff*1000)); usleep((0xffffffff)); b = time(NULL); printf("====%lu===",b); printf("====%lu===",b-a); } int main() { func(); }


最后

以上就是魔幻夕阳最近收集整理的关于linux usleep函数参数溢出(睡眠多少微秒)的全部内容,更多相关linux内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(67)

评论列表共有 0 条评论

立即
投稿
返回
顶部