Bazı durumlarda bir hata kodu döndürmesi gereken bir Mac uygulaması oluşturmaya çalışıyorum. Bu bir Intel paketidir. (Bu bir Carbon C++ projesi, ancak bu muhtemelen ilgisizdir.)Mac uygulamasından dönüş kodu
C++ uygulamasında bunu yapmanın standart yolu, ana işlevin değeri döndürmesidir ve yaptığım şey budur, bu yüzden parçanın doğru olduğunu düşünüyorum . (Ayrıca açık bir şekilde exit(42)
'u aramayı denedim)
Sorun şu: Bu değere nasıl ulaşırım? Uygulamayı open myapp
numaralı terminalden başlattığımda, her zaman farklı bir numara döndürsem bile dönüş değeri her zaman 0
olur. (echo $?
numaralı telefonu kullanarak kontrol edin)
Bu, dönüş komutundaki dönüş değeri mi? Uygulamamın dönüş değeri bir yerde yutuluyor mu?
execve
'u kullanarak başka bir programdan başlattığımda her zaman bir 0
dönüş kodu alıyorum (bu, uygulamanın nasıl kullanılacağıdır).
Bir uygulamadan bir iade kodu almak mümkün mü?
Sidenote: Programın bir paket içinde olmasına ihtiyacım var.
Bunu yapıyorum. Bu yardımcı olmuyor. – darklon
'your.app' açıp' your.app/Contents/MacOS/yourApp' komutunu yürütmek arasında bir fark var. Eski uygulama geri dönüş kodunu vermez, ancak ikincisi yapar. Paul böyle yazdı. – Yuji
Anladım ve bu iyi bir fikirdi. Aslında sadece ikincisi execve() ile çalışır gibi görünüyor, ancak dönüş kodu gelmiyor gibi görünmüyor, ben beklemeyle(), ben exit() ile döndürdüğüm sürece için beklediğimde 0 olsun. Terminal ile de denedim ve bende 0 tane var. – darklon