cuijpus的专栏

关注范围:Telecommunication, Mobile , Embedded Linux。好记性,不如烂笔头。

用户操作
[即时聊天] [发私信] [加为好友]
崔计平ID:cuijpus
51278次访问,排名2233(-1),好友22人,关注者49人。
做手机研发5年多,涉及app, middleware, driver等;好记性不如烂笔头,随手写些,免得忘记了。
cuijpus的文章
原创 155 篇
翻译 0 篇
转载 47 篇
评论 56 篇
cuijpus的公告
目前正在分析研究7个Linux手机平台的异同点


最近评论
qiuyu:您好,我想问一下是不是第三方开发只需LiMo的应用程序编程接口,在此基础上编程就可以了?我看了一下我得linux平台下并没有这个API的实现程序,这样的话只根据接口函数就能使用?一般情况下的话是不是得需要个库之类的文件呀?我是新手,请赐教!
yuhang111:我想还是兼容性的问题,maemo的不少组件是基于debian开发的, 所有应该更方便的在ubuntu上使用吧。当然用fedora也可以,好像虚拟机下用fedora要比ubuntu慢些吧。
wei04:请问D-BUS的C API是线程安全的么?
Liyonn8744:您好,Maemo平台的宿主Linux一定要用ubuntu的吗?用Fedora Core 6可以吗?有什么区别呢?谢谢~
SearchSun:同期待,如果有一个通过libosso封装的D-BUS来调用media player的例子就好了
文章分类
收藏
相册
常去的网站
linux mobile research圈子
存档
订阅我的博客
XML聚合  FeedSky
订阅到鲜果
订阅到Google
订阅到抓虾
订阅到BlogLines
订阅到Yahoo
订阅到GouGou
订阅到飞鸽
订阅到Rojo
订阅到newsgator
订阅到netvibes

原创 Linux下time/timestamp相关。收藏

新一篇: IEEE与通信协议的定义。 | 旧一篇: 关于shared library的描述。

 在Linux下面编程,经常要碰到用到与time/timestamp相关的东西,下面是我以前收集的,放在这里共享。

 

In the file: dbus-sysdeps-unix.c

/**

 * Get current time, as in gettimeofday().

 *

 * @param tv_sec return location for number of seconds

 * @param tv_usec return location for number of microseconds (thousandths)

 */

void

_dbus_get_current_time (long *tv_sec,

                        long *tv_usec)

{

  struct timeval t;

 

  gettimeofday (&t, NULL);

 

  if (tv_sec)

    *tv_sec = t.tv_sec;

  if (tv_usec)

    *tv_usec = t.tv_usec;

}

 

 

How to use it:

 

 

 

/**

 * Get current time, as in gettimeofday().

 *

 * @param tv_sec return location for number of seconds

 * @param tv_usec return location for number of microseconds (thousandths)

 */

void

_dbus_get_current_time (long *tv_sec,

                        long *tv_usec)

{

  struct timeval t;

 

  gettimeofday (&t, NULL);

 

  if (tv_sec)

    *tv_sec = t.tv_sec;

  if (tv_usec)

    *tv_usec = t.tv_usec;

}

 

 

Two time structures:

 

Struct timeval:

  struct   timeval  
  {  
          long   tv_sec;  
          long   tv_usec;  
  }  

 

 

 

 

 

 

 


 

14.11 我知道 localtime() 可以把 time_t 转换结构  struct tm,  ctime() 可以把 time_t 转换可打印的字符串。才能行反向操作,  struct tm 或一字符串转换 time_t

ANSI C 提供了 mktime(),  struct tm 转换 time_t

把一字符串转换 time_t 较难, 是由于可能遇到各的日期和时间格式。某些系提供函 strptime(), 基本上是 strftime()  的反向函。其常用的函 partime() ( RCS 包一起被广泛的 getdate() (有少, 布在 C 的新闻组)见问题  18.18

 

 

C/C++中的日期和时间 time_t(cjp: long)struct tm

2006-07-18 14:07

摘要:

http://wiseman.cnblogs.com
本文础概念入手,探了在C/C++日期和时间操作所用到的结构和函对计时时间取、时间算和示格式等方面行了述。本文大量的例向展示了time.h文件中明的各结构详细使用方法。

关键字:UTC(世界时间),Calendar Time(日历时间),epoch时间点),clock tick时钟计时单元)


1

C/C++中,字符串的操作有很多得注意的问题,同C/C++对时间的操作也有得大家注意的地方。最近,在技群中有很多友也多次C++言中对时间的操作、取和示等等的问题。下面,在篇文章中,主要介C/C++时间和日期的使用方法.

过学习许C/C++可以有很多操作、使用时间的方法。但在之前需要了解一些时间日期念,主要有以下几

Coordinated Universal Time
UTC):协调世界,又世界时间,也就是大家所熟知的格林威治时间Greenwich Mean TimeGMT)。比如,中国内地的时间与UTC+8,也就是UTC+8。美UTC-5

Calendar Time
:日历时间,是用时间点到此时间经过的秒表示的时间这个标时间不同的编译说会有所不同,但编译统来说这个标时间点是不的,该编译中的时间对应的日历时间都通过该标时间衡量,所以可以历时间对时间,但是无论你时区,在同一同一时间,日历时间都是一的。

epoch
时间点。时间点在C/C++中是一用此时间时间点相差的秒(即日历时间表示。

clock tick
时钟计时单元(而不把叫做时钟滴答次),一时钟计时单元的时间长短是由CPU控制的。一clock tick不是CPU的一时钟周期,而是C/C++的一基本计时单位。

可以使用ANSI中的time.h文件。这个头文件中定时间和日期所使用的方法,无是在结构是命名,都具有明C格。下面,我明在C/C++使用日期的时间功能。

2
计时

C/C++
中的计时clock(),而其相型是clock_t。在MSDN中,clock如下:

clock_t clock( void );

这个返回开启这个程序程序中clock()CPU时钟计时单元(clock tick,在MSDN钟时间wall-clock)。其中clock_t是用保存时间型,在time.h文件中,我可以找到对它的定

#ifndef _CLOCK_T_DEFINED
typedef long clock_t;
#define _CLOCK_T_DEFINED
#endif

很明clock_t是一整形。在time.h文件中,了一常量CLOCKS_PER_SEC表示一秒钟会有多少时钟计时单元,其定如下:

#define CLOCKS_PER_SEC ((clock_t)1000)

CJP: #define CLOCKS_PER_SEC 1000000
// 1 million

Cclock(或者C++中的ctime)返回的是clock_t型的CLOCKS_PER_SEC,在time.h文件中定。目前这个值为100使得时间的精度很低,于某些任务来说是不的。CodeWarriorCLOCKS_PER_SEC义为1000000,可以得到毫秒的精度。

&nb