Çıktıları bir derleyiciden ayrıştıran ve hata iletilerini yeniden biçimlendiren basit bir program yazıyorum. Böylece kullandığımız IDE (görsel stüdyo) bunları ayrıştırabilir . Biz inşa etmek nmake
kullanın ve böyle bir komut satırı kullanarak derleyici arayacak: Bir boru komut satırındaki ilk programın dönüş kodu nasıl kullanılır
cc166.exe SOME_FLAGS_HERE MyCFile.c 2>&1 | TaskingVXToVisualReformat.exe
Şimdi problem derleyicisi,
cc166
dönüş kodu,
nmake
geri beslenen olmamasıdır. Reform programımın sadece geri dönüş kodu kullanılır, bu da eğer reforme programından sıfıra geri dönersem, nmake iptal etmek yerine inşaata devam eder. Geri dönüş kodunu derleyiciden (
cc166.exe
)
nmake
'a nasıl geri gönderebilirim?
Yeniden biçimlendirme programımın derleyicinin dönüş kodunu okuyabileceği ve kendi dönüş kodunu belirlerken kullanabileceği bir yol var mı? Yeniden biçimlendirici C# ile yazılmıştır.
Bu soruya cevap vermiyor. Cc166 başarılı olursa, o zaman son dönüş kodu da bir başarı gibi görünüyor. Fakat eğer başarısız olursa, o zaman reformcunun geri dönüş kodu hala kullanılır: cc166 başarısız olur ve reformcu, toplamda “başarı” nın geri dönüşü (“başarısızlık” durumunda getiri elde eder. Ayrıca, cc166'nın tek başarısızlığının, geri dönüş 1. –
Windows kabuk dönüş kodu 0, başarı, diğer herhangi bir değer hatasıdır. "Hata 1" değilse, ilk komut 0 döndürülürse "aslında başarılı olur." FYI, Windows'ta "errorlevel 1", "hata kodu ise" anlamına gelir. büyük ya da eşittir 1 " – SlavaGu
Sanırım şimdiye kadar ne söylediğini anlıyorum, ama eğer cc166 1 (veya 2, 3, vb.) döndürürse VE" TaskingVXToVisualReformat.exe "0 döndürürse ne olur? cc166 gerçekten başarısız olmasına rağmen, başarı, –