0

わかりました。オペレーティング システムの割り当てに取り組んでいます。スレッド、セマフォ、イベントなどで基本的なことを実行できるマイクロカーネルを作成する必要があります。BCC 3.1 は私のシステム環境を模倣しています。従来のデバッグは実際には役に立ちません。私は cout スタイルでデバッグしています。問題は cout の奇妙な動作です。ブロックか何かで書き出されます。私がやると、40 カウトのように、すべてが書き出されます。39 個実行しても、何も書き込まれません。一方、40 から 79 の間で実行すると、まだ最初の 40 だけが書き込まれますが、80 を実行してもすべて問題ありません。数値は正確ではありません。実際の数値はわかりません。しかし、cout された文字列の長さを変更しても同じように影響することにも気付きました。何文字が 1 回の cout 呼び出しに等しいかは私だけが知りません。リクエストに応じて追加情報を入手できます。よろしくお願いします。

4

1 に答える 1

1

std::cout出力をバッファリングしてはならないにもかかわらず、バッファリングのように聞こえます。coutいずれにせよ、フラッシュを試すことができます

std::cout.flush();

また

std::cout << std::flush;

また

std::cout << std::endl;

またはバッファリングを無効にすることによっても:

std::cout.rdbuf()->pubsetbuf(0, 0);

于 2011-07-27T13:43:21.490 に答える