C++ ile bir C programı (main()
'un C) arayüzünü yapıyorum. Kodumdaki bazı noktalarda programın yürütülmesini durdurmak istiyorum. Şimdi bilmek isterim, bunu nasıl temizleyebilirim?Karışık C/C++ ile bir programdan çıkmak için nasıl temizlenir
Şu anda std::terminate()
numaralı telefonu arayın, ancak daha iyi fikirlerin yokluğundan daha fazlası. Beni rahatsız eden ana şey bile hafızayı serbest bırakmadığımdan (çünkü program feshedildikten sonra serbest kalıyor, değil mi?) MSVS Just-in-time Debugger ortaya çıkıyor ve ben çirkin bir hata mesajı alıyorum. çalışma zamanını alışılmadık bir şekilde sonlandırır.
DÜZENLEME: Bu karışıklığa neden olduğundan: main()
'dan return 0
ile döndürme bu durumda mümkün değildir.
Çıkış (0) 'ile ilgili sorun nedir? –
AFAIK std :: terminate olağandışı bir sona erdirmeyi belirtmek için kullanılır (örneğin yakalanmamış bir istisna en üst seviyeye ulaştığında). Bu, hata ayıklayıcısını tetikleyebilir. – wintermute
Temiz yol, kontrol akışını doğru şekilde ele almak ve standart bir şekilde çıkmak (tutamaçları, nesneleri, bağlantı dişlerini vb.) Bırakmak olacaktır. '' exit (0) 'çirkin bir alternatiftir – Bruce