我是靠谱客的博主 魔幻夕阳,最近开发中收集的这篇文章主要介绍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 usleep函数参数溢出(睡眠多少微秒)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部