struct timeval の長さは 64 ビットです。プロジェクトでは、この long (struct timeval) を 2 つの 32 ビット チャンクに変換し、各チャンクを別の変数に入れる必要があります。どうすればいいですか?事前にサンクス。
1700 次
4 に答える
2
uint32_t* values = &timevalstruct;
// depends on endianess
uint32_t v1 = values[0];
uint32_t v2 = values[1];
于 2010-10-15T11:15:34.133 に答える
1
レピーの答えへの追加として:
union tvs
{
struct timeval tv;
struct ints {
uint32_t v1;
uint32_t v2;
};
};
tvs t;
t.tv = timevalstruct;
uint32_t v1 = tv.ints.v1;
uint32_t v2 = tv.ints.v2;
ポインタを扱いたくない場合。
于 2010-10-15T11:18:25.117 に答える
0
これを参照してください:http: //linux.die.net/man/2/gettimeofday
timeval構造のtv_secフィールドとtv_usecフィールドを使用できますか?
于 2010-10-15T11:19:53.050 に答える
0
struct timeval tv;
...
uint32_t seconds = tv.tv_sec;
uint32_t micros = tv.tv_usec;
これで、32 ビット整数に分割されました。
于 2010-10-15T17:34:46.157 に答える