, sihirbaz hemen her CPP dosyasındaki aşağıdaki kod bloğunu oluşturur:"#define new DEBUG_NEW" ve "#undef THIS_FILE" vs. gerçekten gerekli mi? Yeni bir MFC uygulaması oluşturduğunuzda
#ifdef _DEBUG
#define new DEBUG_NEW
#endif
ve bazen de bu ekler:
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
Ben kaldırmak istiyorum Bu kod CPP dosyalarından gereksiz ise. VS2008 üzerinde C++/CLI ile bir MFC uygulaması kullanıyorum.
Bu kodu bir CPP'den sildikten sonra Debug'da çalıştırmayı denedim ve iyi çalışıyor gibi görünüyor. "new" ing değişkenleri iyi çalışır, sızıntı yoktur ve ASSERT iletişim kutuları doğru dosya adını gösterir ve hatalı satırlara atlar.
Bana ne yaptığını ve silinen güvenli olup olmadığını söyleyen var mı?
Emin misiniz? Kod bloğunu sildikten sonra VS2008 hala bellek sızıntısı nesnesi görüntüler. Belki bu VC6 ya da başka bir şey için kullanılan ...? – demoncodemonkey
Maalesef, söylediğin şeyin bir inceliği olduğunu anladım - kod çıktığında, bellek sızıntısı olduğunu göstermek yerine, çıktı penceresi bellek sızıntısını içeren dosya adını ve satırı gösterir. – demoncodemonkey
Bu, oluşturulan kodun ilk bölümünü açıklıyor. İkinci kısımdan ne haber? #UNUM THIS_FILE statik char THIS_FILE [] = __FILE__; – demoncodemonkey