を必要としていました。特にC言語の入門コースを再訪することを強くお勧めします。
私はあなたが意味推測:だから
init_thread (initial_thread, "main", PRI_DEFAULT);
、のはinit_threadを見てみましょう:1の場合
init_thread (struct thread *t, const char *name, int priority)
、我々は簡単に "メイン" を参照して、スレッドの名前です。 mainという名前の関数とは関係ありません。
{
enum intr_level old_level;
ASSERT (t != NULL);
ASSERT (PRI_MIN <= priority && priority <= PRI_MAX);
ASSERT (name != NULL);
memset (t, 0, sizeof *t);
memsetは、最初のパラメータであるtが指すメモリ上にあります。起動から、initial_threadが指し示すメモリであることがわかります。
t->status = THREAD_BLOCKED;
strlcpy (t->name, name, sizeof t->name);
ここで、文字列mainはstrlcpyで置き換えられます。
最初に私はmemset、strlcpyなどの関数の説明を求めませんでした。私はすでに理解しています。この質問はpintosコードベースに関連していたので、質問には文脈が付いています。質問に答える前に文脈を考慮してください。 – ramasCoder
おい、真剣に。ちょうど私はこれらのコードサンプルをどこから入手したと思いますか?あなたは傾いているようです。私はこれを合理的に見てみることをお勧めします。私はその質問に完全に答えました。 –