概述
usleep函数的参数类型为unsigned int
https://linux.die.net/man/3/usleep
(1)usleep((0xffffff*1000));
由于传入的参数溢出被截断,
0xffffff*1000只运行了3892秒。
(2) usleep((0xffffffff));
传入的参数刚好是usleep可接受的最大值,
0xffffffff运行了4295秒。比0xffffff*1000运行
的时间还要长
#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 usleep函数参数溢出(睡眠多少微秒)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复