SORU
27 Mart 2013, ÇARŞAMBA


Sjlj cüce vs vs seh arasındaki fark nedir?

Peki, hepsi bu. Benim projeyi derlemek için kullanmalıyım hangi bir karar vermek için yeterli bilgi bulamıyorum. Farklı bilgisayarlar bir süreç simülasyonu çeşitli programlar vardır. Linux üzerinde GCC kullanıyorum. Her şey çok iyi. Kodu optimize edebilirim, hızlı derler ve pek çok hafıza kullanır.

MSVC ve GCC derleyicileri ile kendi kıyaslama yapıyorum. Sonra biraz daha hızlı çalıştırılabilir dosyalar (her subarchitecture için) üretir. Gerçi zaman derleme MSVC çok daha fazla.

MinGW kullanmaya karar verdim. Ama özel durum işleme yöntemleri ve uygulamaları hakkında herhangi bir açıklama bulamıyorum MinGW. Farklı işletim sistemleri ve mimarileri için farklı dağıtımları kullanabilirsiniz.

Önemli noktalar:

  • Zaman ve bellek kullanımı derlemek benim için önemli değil. Tek önemli şey, çalışma zamanı en iyi duruma getirme. Benim programları yeterince hızlı olması gerekiyor. Yavaş derleyici kabul edilebilir.
  • İşletim sistemi: Microsoft Windows XP / 7 / 8 / Linux
  • Mimari: Intel / Core2 / Corei7 ve çok eski bir i686 XP :P

CEVAP
28 Mart 2013, PERŞEMBE


MinGW-w64 Wiki kısa bir bakış var:

Neden mingw-w64 gcc destek Cüce-2 özel Durum İşleme değil mi?

Cüce-2 EHWindows için uygulama için tasarlanmamıştır 64-bit Windows uygulamaları altında çalışmak. Win32 modu, istisna gevşemek işleyicisi olmayan dw2 farkında kodu, bu demektir yaymak edemiyor aracılığıyla herhangi bir özel durum herhangi bir geçiyor olmayan dw2 farkında "dış çerçeve" kod, Windows sistem DLL ve DLL ile inşa dahil olmak üzere başarısız olur Visual Studio. Cüce-2 gcc inceler dinlenmeden kod 86 Kurul, dinlenmek ve olmadan ilerleyemiyor cüce-2 diğer bilgi gevşeyin.

SetJump LongJumpçoğu için özel durum işleme eserler yöntemi win32 ve win64, genel koruma hataları hariç iki olgu. Gcc yapılandırılmış özel durum işleme desteği geliştiriliyor dw2 ve sjlj zayıf üstesinden gelmek. Win64, gevşeyin-bilgi xdata-bölüm yerleştirilmişlerdir .pdata (fonksiyon tanımlayıcısı tablo) yerine yığın. Win32 zinciri için işleyicileri yığını ve kurtarılması gereken/gerçek tarafından restore devam eder kod yürütülür.

GCC GNU hakkındaÖzel Durum İşleme:

GCC özel durum işleme için iki yöntem destekler (EH):

  • CÜCE-2 (DW2) HACÜCE-2 (ya da CÜCE-3) hata ayıklama bilgi kullanımını gerektirir., DW-2 EH çalıştırılabilir neden olabilir biraz şişirilmiş çünkü büyük çağrı yığını, tablolar, dinlenmek için inci yürütülebilir dosyalar dahil.
  • Bir yöntem dayanmaktadır/iki SJLJ) setjmp. SJLJ tabanlı EH EH DW2 daha yavaş (cezalandırılması normal yürütme yok bile. özel durum oluşturuldu), ama henüz kod üzerinde çalışabilirsiniz çağrı yığını gevşemek yok GCC ile derlenmiş ya bilgi.

[...]

Yapılandırılmış özel Durum İşleme (SEH)

Windows kendi özel durum işleme mekanizması olarak bilinen Yapılandırılmış özel Durum İşleme (SEH) kullanır.[...] Maalesef, GCC SEH henüz desteklemiyor.[...]

Ayrıca Bkz:

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Evan Coury

    Evan Coury

    29 NİSAN 2007
  • megablueblaster

    megablueblas

    23 HAZİRAN 2006
  • Wronchi Animation

    Wronchi Anim

    9 Mayıs 2011