0

Mac では kqueue を使用していますが、udata は変更されていません。event_dataただし、 of call で返される配列はkevent多少変更されています。何が原因でしょうか? void* にキャストされた文字列へのポインターを渡していますkevent。最初の 3 文字の後に読み取ると、残りは変更されています。

ありがとう

4

1 に答える 1

1

カーネルは、ポインタが指すメモリの内容ではなく、ポインタ自体の値を保存して返すだけです。後で上書きされるメモリへのポインタを渡している可能性があります。

kqueue64()システム コールは、フィールドをuint64_t.

于 2015-04-19T00:46:19.240 に答える