2013-05-05 3 views
0

Есть ли какой-либо флаг для gcc или g++, который отключает буферизацию для stdout? Как python -u отключает буферизацию stdout, stdin и stderr в python.Флаг для gcc отключить буферизацию stdout?

+6

Не флаг gcc, но см. [Как отключить буферизацию stdout в C] (http://stackoverflow.com/questions/7876660/how-to-turn-off-buffering-of-stdout-in- с). –

+0

Я хочу отключить буферизацию через gcc не через c. –

+2

@ c4rbon, это не работа компилятора. Это работа вашего кода. – Mat

ответ

3

GCC, как компилятор, генерирует только исполняемый файл. Он не имеет реального знания буферизации или даже потоков. Только C runtime знает, что ваши stdout и stderr есть. Чтобы отключить буферизацию, вы должны сказать, что время выполнения C, очевидно, во время выполнения.

Для сравнения, среда исполнения Python является интерпретатором. Как интерпретатор, он настраивает ваши потоки и может отключить буферизацию, если вы попросите об этом.

Смежные вопросы