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


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内容请搜索靠谱客的其他文章。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部