Haiku オープン ソース プロジェクトの pthread.h の struct _pthread_rwlock で名前のない共用体を見つける必要があります。この課題は、c++ (過去の継承、ポリモーフィズム、およびクラス) に関するある程度の知識を持って開始しましたが、学んだことが私の状況ではまったく役に立たないことがわかりました。ヘッダー ファイルと pthread_rwlock.cpp という名前のソース ファイルを開き、名前のない共用体を探しましたが、どちらのファイルにも共用体がないようです。問題を見つける正しい方法は何でしょうか?
質問する
69 次
1 に答える
0
でpthreads.h
、探している構造は。という名前になりpthread_rwlock_t
ます。インクルードファイルを逆方向にたどると、次のように表示されますsys/types.h
。
typedef struct _pthread_rwlock pthread_rwlock_t;
...
struct _pthread_rwlock {
__haiku_std_uint32 flags;
__haiku_std_int32 owner;
union {
struct {
__haiku_std_int32 sem;
} shared;
struct {
__haiku_std_int32 lock_sem;
__haiku_std_int32 lock_count;
__haiku_std_int32 reader_count;
__haiku_std_int32 writer_count;
void* waiters[2];
} local;
} u;
};
ここにある組合があなたが探している組合だと思います。私が見ているバージョン(d06f5808)の時点で、ユニオンは匿名ではなくなりました。
于 2013-02-26T02:00:34.797 に答える