2

実際に文字ごとに読み取りますか、それともカーネルバッファにいくつかのバイトを読み取り、文字ごとにユーザーに戻りますか?

と同じfgetsですか?

glibcとgccコンパイラを使用しているとしましょう。

4

1 に答える 1

5

ほぼ正しい。ユーザー/カーネルの分離を行う典型的な最新の実装では、カーネル バッファーではなく、ユーザー バッファーにバイトが格納されます。したがって、多くの呼び出しがfgetc実際に真のシステム呼び出しをトリガーすることはほとんどありません。

于 2012-03-20T18:10:30.333 に答える