«callstack» etiketlenmiş sorular

Bir program tarafından çağrılan işlevlerin ayrıntılarını sırayla depolayan bir yığın, böylece her işlev tamamlandığında kendisini çağıran koda geri dönebilir.


29
Maksimum çağrı yığını boyutu aşıldı hatası
Direct Web Remoting (DWR) JavaScript kitaplık dosyası kullanıyorum ve yalnızca Safari'de (masaüstü ve iPad) bir hata alıyorum Diyor ki Maksimum arama yığını boyutu aşıldı. Bu hata tam olarak ne anlama geliyor ve tamamen işlenmeyi durduruyor mu? Ayrıca herhangi bir düzeltme SafariAslında tarayıcıyla ( iPad Safari, diyor JS: yürütme zaman aşımını …

6
Kısaca yığın çerçeve kavramını açıklar
Görünüşe göre programlama dili tasarımında çağrı yığını fikrini alıyorum . Ama yığın çerçevesinin ne olduğuna dair iyi bir açıklama bulamıyorum (muhtemelen, yeterince sert arama yapamıyorum) . Bu yüzden birinden birkaç kelimeyle bana açıklamasını istemek istiyorum.
201 callstack 

2
Javascript'te bir istisnayı nasıl yeniden atıp yığını koruyabilirim?
Javascript'te, bir istisna meydana geldiğinde biraz temizlik yapmak istediğimi, ancak istisnanın yığını yaymaya devam etmesine izin verdiğimi varsayalım, örneğin: try { enterAwesomeMode(); doRiskyStuff(); // might throw an exception } catch (e) { leaveAwesomeMode(); throw e; } doMoreStuff(); leaveAwesomeMode(); Bu kodla ilgili sorun, istisnayı yakalamanın ve yeniden atmanın, o noktaya kadar …

13
C veya C ++ 'da çağrı yığınını yazdır
Belirli bir işlev her çağrıldığında çağrı yığınını çalışan bir işlemde C veya C ++ 'da dökmenin bir yolu var mı? Aklımdaki şey şuna benzer: void foo() { print_stack_trace(); // foo's body return } Nerede print_stack_tracebenzer şekilde çalışır callerPerl. Veya bunun gibi bir şey: int main (void) { // will print …
120 c++  c  linux  callstack 


7
Çağrı yığını tam olarak nasıl çalışır?
Programlama dillerinin düşük seviyeli işlemlerinin nasıl çalıştığını ve özellikle OS / CPU ile nasıl etkileşime girdiklerini daha derinlemesine anlamaya çalışıyorum. Muhtemelen burada Stack Overflow'da her yığın / yığınla ilgili başlıktaki her cevabı okudum ve hepsi harika. Ancak henüz tam olarak anlamadığım bir şey var. Bu işlevi, geçerli Rust kodu olma …


4
Yığın değişkenleri GCC __özniteliği __ ((hizalı (x))) ile hizalı mı?
Takip koduna sahibim: #include <stdio.h> int main(void) { float a[4] __attribute__((aligned(0x1000))) = {1.0, 2.0, 3.0, 4.0}; printf("%p %p %p %p\n", &a[0], &a[1], &a[2], &a[3]); } Ve şu çıktıya sahibim: 0x7fffbfcd2da0 0x7fffbfcd2da4 0x7fffbfcd2da8 0x7fffbfcd2dac Adresi neden a[0]birden fazla değil 0x1000? Tam olarak ne __attribute__((aligned(x)))yapar? Bu açıklamayı yanlış mı anladım ? Gcc …


17
Yığın, assembly dilinde nasıl çalışır?
Şu anda yığının nasıl çalıştığını anlamaya çalışıyorum, bu yüzden kendime bir montaj dili öğretmeye karar verdim , bu kitabı kullanıyorum: http://savannah.nongnu.org/projects/pgubook/ Gas kullanıyorum ve geliştirmemi Linux Mint üzerinde yapıyorum . Kafam biraz karıştı: Bildiğim kadarıyla bir yığın sadece bir veri yapısıdır. Bu yüzden eğer derlemede kodluyorsam yığını kendim uygulamam gerektiğini …

1
DOS bir .COM dosyasını yükledikten sonra SP kaydını neden 0xFFFE olarak ayarlıyor?
.COM dosyalarıyla ilgili wikpedia sayfasında https://en.wikipedia.org/wiki/COM_file okur: DOS'taki .COM dosyaları tüm x86 segment kayıtlarını aynı değere ayarlar ve SP (yığın işaretçisi) 0xFFFE'ye kayıt yapar, böylece yığın bellek segmentinin en üstünde başlar ve oradan çalışır. Ancak bu aslında yığını segmentin üst kısmından bir kelimeye başlayacak şekilde ayarlar. Yığına bir değer basarken …
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.