gpt4 book ai didi

c - 定时器例程面临存储错误

转载 作者:行者123 更新时间:2023-11-30 17:23:53 26 4
gpt4 key购买 nike

我正在使用队列事件驱动算法构建一个模拟项目。这是一个正在 sleep 的理发店排队模拟模型。

我正在准备一个计时器例程,用于获取种子值来初始化随机数。

定时器例程用于获取种子值并返回百秒数

午夜到现在。

 C Code:

long timer()
{
//get current system time

struct time t;
gettime(&t);

//return number of hundred of second
return(((long)3600*t.ti_hour+60*t.ti_min+t.ti_sec)*100+t.ti_hund);
}

问题是(“t”的存储大小未知)

当我在两个操作系统环境上运行代码后,在 ubuntu 13.04 和 windows 8 上都发现了这个问题。

我的问题:1-那个错误是什么,我需要解释。2-我怎样才能修复这个错误并返回从午夜到现在相同的百秒数。

注意:我读到 gettime 不在 Linux 操作系统上;

最佳答案

您收到错误是因为您的编译器无法找到 struct time 的定义这不是标准数据类型,这就是为什么它提示它无法创建大小未知的某些数据类型的变量。

我不知道你需要如何在Windows上做到这一点,但是在Linux上,你的目的可以通过使用来实现

  1. struct timeval变量,其定义如下。

  2. gettimeofday()功能。

结构:

struct timeval {
time_t tv_sec; /* seconds since Jan. 1, 1970 */
suseconds_t tv_usec; /* microseconds */
};

函数:

int gettimeofday(struct timeval *tv, struct timezone *tz);

查看手册页 here了解更多详情。

注意:您需要添加#include <sys/time.h>到您的代码。

关于c - 定时器例程面临存储错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27373272/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com