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変数を宣言する場合:

  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です。

struct timebなどの詳細については、timeb.hファイルを確認してください。

于 2013-05-06T11:10:30.770 に答える