Как использовать код возврата первой программы в командной строке конвейера

Я пишу простую программу, которая анализирует вывод компилятора и переформатирует все сообщения об ошибках, чтобы используемая нами IDE (Visual Studio) могла их анализировать. Мы используем nmake для сборки, и он будет вызывать компилятор с помощью командной строки, подобной этой:

cc166.exe SOME_FLAGS_HERE MyCFile.c 2>&1 | TaskingVXToVisualReformat.exe

Теперь проблема в том, что код возврата компилятора, cc166 , не отправлено обратно на nmake . Используется только код возврата моего форматирования, что означает, что если я верну ноль из программы переформатирования, nmake продолжит сборку вместо прерывания. Как я могу вернуть код возврата от компилятора ( cc166.exe ) в nmake ?

Может ли моя программа переформатирования прочитать код возврата компилятора и использовать это при выборе собственного кода возврата? Программа переформатирования написана на C #.

6
задан Jens 8 March 2012 в 10:14
поделиться