Перенаправление Io по сравнению с выполнением входа файла c/c ++

В энергии можно выполнить команду оболочки в командном режиме с и ! вначале. Таким образом в Вашем случае можно сделать что-то вроде этого: :!chmod +x %. % текущий файл в Vim.

Я надеюсь, что это решает Вашу проблему.

3
02.05.2015, 01:22
1 ответ

Вы должны знать, что "задержка" может включать в себя буферизацию stdio системы, достаточную для "эффективной" записи файловой системы. Дополнительную информацию см. в man 3 setbuf . Буферизация выполняется на основе FILE *, поэтому stderr обычно не буферизируется, в то время как stdout обычно буферизируется. Поэтому вывод на stderr и вывод на stdout в конечном итоге оказывается неупорядоченным, когда они оба направлены в один и тот же файл, как это показано в вашем примере.

Если у вас есть экземпляр FILE *, который ваша программа открыла, если только вы не сделали setbuf() или не выполняли регулярные вызовы 'fflush()`, то "латентность" предсказать невозможно.

Я закончил тем, что поместил много вызовов fflush() в программы, которые приводят к аварийному завершению работы, так что вывод stdout фактически превращает его в лог-файл перед аварийным завершением работы. Дешево, но грязно.

2
27.01.2020, 21:27

Теги

Похожие вопросы