Ben kullanmanızı öneririz internette eski yazılıma ve kötü öğreticiler bir sürü görmek exit(-1)
, return -1
"anormal fesih" temsil etmek veya benzer. Sorun en azından POSIX’de -1
hiç olmamıştı ve geçerli bir durum kodu değil. man 3 exit
göstermektedir exit()
döndürür değerini status & 0377
, yani ebeveyn -1
olur 255
. POSIX dışı sistemlerde, EXIT_FAILURE
taşınabilirlik için önerilir. Ancak "EXIT_FAILURE ile birlikte" -1, anormal sonlandırma "anlamına gelmez," -1 "nin POSIX dışı sistemlerde bile geleneksel olduğuna inandıklarını gösterir.
İşte bunu devam ettiren bir StackOverflow sorusu örneği . "Unrealircd" yazılımı da programı exit(-1)
sonlandırmak için kullanılan bir program örneğidir . Uygulamada, bu arayüzü zorlaştırıyor systemd
.
Bu anti-patern nereden geldi? Bazı bağlamlarda geçerli mi?
unsigned char
.
char
, değer aralığı -128 ile 127 arasında olduğundan daha fazla eşdeğerdir. Dahası, zaten "-1" in soru gövdesinde "255" e dönüştüğünü belirtmiştim .