当前位置:  技术问答>linux和unix

有关时间函数gmtime()的问题?(急需,谢谢先!)

    来源: 互联网  发布时间:2015-06-25

    本文导语:  我的程序结构如下: 全局变量 struct tm    *g_CurrentTm; void a() {     time_t    Timep;     time(&Timep);     g_CurrentTm  = gmtime(&Timep);     g_StartDay  = (g_CurrentTm->tm_mday);     ... } void thread() {     time_t   T...

我的程序结构如下:
全局变量 struct tm    *g_CurrentTm;
void a()
{
    time_t    Timep;
    time(&Timep);
    g_CurrentTm  = gmtime(&Timep);
    g_StartDay  = (g_CurrentTm->tm_mday);
    ...
}

void thread()
{
    time_t   Timep;
    time(&Timep);
    //gmtime_r(&Timep, g_CurrentTm);
    g_CurrentTm  = gmtime(&Timep);
    ...
    if((g_CurrentTm->tm_mday) != g_StartDay)
    {
          a();
    }
    ...
}

其中,a()在程序启动时执行,获取系统当前时间。程序在运行过程中,会不断产生线程(线程函数thread())。在线程函数中,获得当前时间,与程序启动时间的时间进行比较,如果不相同,调用a()。以上程序运行没有问题,但如果将g_CurrentTm改为局部变量,或者使用gmtime_r函数代替gmtime,就会出段错误。请问这是为什么,使用gmtime需要注意些什么,如何能让使用gmtime_r的程序好使(因为程序是多线程的,gmtime不是线程安全的)


|
gmtime()返回的指针是系统指针,跟你的g_CurrentTm是全局或局部变量没关系,
如果将g_CurrentTm改为局部变量,会出段错误, 那肯定不是g_CurrentTm变量的问题。

/* Return the `struct tm' representation of *TIMER in UTC,
   using *TP to store the result.  */
extern struct tm *gmtime_r (__const time_t *__restrict __timer,
                struct tm *__restrict __tp) __THROW;

gmtime_r()的参数__tp是需要你自己分配地址的。否则会coredump。

    
 
 

您可能感兴趣的文章:

  • 有关Java构造函数的问题之一——缺省性
  • 怎么查找有内核函数及其有关信息???
  • 有关函数隐藏的问题
  • 有关sin,con,tan函数的问题
  • 有关system函数打开网页的
  • 有关在makefile中使用shell函数的问题
  • linux下有这样的函数吗?有关系统时间
  • Linux编程:有关read()函数的问题
  • 有关system()这个函数
  • 有关 grep命令 之 函数查找时 屏蔽link的问题
  • 有关malloc函数的问题
  • linux/unix里的进程互斥问题 ,有关lockf()函数!
  • MYSQL中有关SUM字段按条件统计使用IF函数(case)问题
  • 这个问题和fclose()函数有关系么?
  • 有关Java构造函数的问题之三——继承性
  • 有关Java构造函数的问题之二——实例性
  • 还是有关fork的问题,fork在一个函数中调用,我被搞胡涂了
  • 有关线程的一些数据结构及函数求教。。
  • 请教有关 fork 和 sprintf 函数的问题
  • 有关Java构造函数的问题之四——冲突性
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 100分求助 能不能提供一些有关图像分割的算法和实现代码!谢谢
  • 哪位兄弟知道有关QT的资料可以下,,谢谢!
  • 请教有关自动ftp的问题!谢谢
  • 求有关dosemu资料,谢谢!
  • 请问数据库有关问题,谢谢!
  • 帮忙怎样写有关 unix下的线程的问题(在线等待,急用,谢谢)
  • 有关http文件头,立即结帐,谢谢!
  • 有关tomcat安装和配置的问题,谢谢
  • 有关手机等的JAVA开发的书推荐点!谢谢!
  • 介绍几本有关Qtopia的好的图书,谢谢了!!
  • 有关VMWare,不能启动操作系统! 谢谢!
  • 有关gtk的notebook的问题,谢谢!!!
  • 有关jdbc的问题,一定给分,谢谢!!
  • 请问有关linux挂磁盘阵列柜的问题,谢谢
  • 请教有关linux配置路由问题,谢谢?
  • 有关cvs登陆的问题!请帮忙看看,谢谢!
  • 请教有关两网段linux配置路由问题,谢谢?
  • 有关Linux下开发程序--上万个线程问题。菜鸟问(来者有分,谢谢大家)
  • 有关JBuilder6.0的问题(有请高手帮忙),在线等待,高分相送,谢谢
  • 真心需要各位前辈指点,谢谢 有关LINUX USB驱动程序编写的一个问题
  • ​有关Docker的八个令人难以置信的事实
  • 有关内码转换(跟HttpServletRequest有关)
  • 求有关png图像处理的libpng库的有关中文资料
  • 大家推荐一下有关LINUX7有关的网络编程的书。最好是比较全面的!比较经典的。
  • 求教有关smartupload的问题,有关就给分!!
  • 有关KDevelop-3.0.4-0.1.i386.rpm的有关软件包
  • 有关在sco unix5.0.4下有关网卡设置的问题(非常急,高分相送)
  • 有关snmp的一个很菜,但是困扰了我很久的问题,有关工作原理的,望大家赐教
  • 有关KDevelop编程的资料
  • 有关集群与数据同步
  • 请教有关英文简历方面的词句!


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3