2

嗨,我尝试使用 gcc 编译 C 程序,但出现此错误:

timerc.c:在函数'timer_'中:timerc.c:32:16:错误:'Time_Struct'的存储大小未知

这是程序:

#include <sys/types.h>
#if TIME_WITH_SYS_TIME
# include <sys/time.h>
# include <time.h>
#else
# if HAVE_SYS_TIME_H
#  include <sys/time.h>
# else
#  include <time.h>
# endif
#endif
void timer_(long *UnixSysTime)
{
  int dummy;
  struct timeb Time_Struct;
  dummy=ftime(&Time_Struct);
  *UnixSysTime=Time_Struct.time;
}
4

3 回答 3

2

当您使用以下内容声明结构变量时:

  struct timeb Time_Struct;

编译器不知道它的定义。因此,它无法为其分配内存。包括定义此结构的头文件。

于 2013-01-21T11:57:29.293 回答
2

添加

#include <sys/timeb.h>

在其他包括行之后。

然后编译器将知道他的存储大小

于 2013-01-21T12:50:38.137 回答
-1

在我的系统 ubunt 12.04 LTS 中,位置是 /usr/include/x86_64-linux-gnu/sys 目录。

对于 32 位机器,它的位置是 /usr/include/i386-linux-gnu/sys。

检查 timeb.h 文件以获取有关 struct timeb 等的更多详细信息

于 2013-05-06T11:10:30.770 回答