Ein Stapel, der Details der von einem Programm aufgerufenen Funktionen nacheinander speichert, sodass jede Funktion nach Abschluss zu dem Code zurückkehren kann, der sie aufgerufen hat.
function main() { Hello(); } function Hello() { // How do you find out the caller function is 'main'? } Gibt es eine Möglichkeit, den Aufrufstapel herauszufinden?
Ich verwende eine Direct Web Remoting (DWR) -JavaScript-Bibliotheksdatei und erhalte nur in Safari (Desktop und iPad) eine Fehlermeldung. Es sagt Maximale Call-Stack-Größe überschritten. Was genau bedeutet dieser Fehler und stoppt er die Verarbeitung vollständig? Auch irgendein Fix für den SafariBrowser (Eigentlich auf dem iPad Safari, heißt es JS: Die Ausführung …
Es scheint, dass ich auf die Idee des Aufrufstapels im Design von Programmiersprachen komme . Aber ich kann keine anständige Erklärung dafür finden (wahrscheinlich suche ich einfach nicht hart genug), was ein Stapelrahmen ist. Deshalb möchte ich jemanden bitten, es mir in wenigen Worten zu erklären.
Angenommen, ich möchte in Javascript eine Bereinigung durchführen, wenn eine Ausnahme auftritt, aber die Ausnahme den Stapel weiter verbreiten, z. try { enterAwesomeMode(); doRiskyStuff(); // might throw an exception } catch (e) { leaveAwesomeMode(); throw e; } doMoreStuff(); leaveAwesomeMode(); Das Problem mit diesem Code besteht darin, dass das Abfangen und …
Gibt es eine Möglichkeit, den Aufrufstapel in einem laufenden Prozess in C oder C ++ bei jedem Aufruf einer bestimmten Funktion zu sichern? Was ich vorhabe, ist ungefähr so: void foo() { print_stack_trace(); // foo's body return } Wo print_stack_tracefunktioniert ähnlich wie callerin Perl. Oder sowas: int main (void) { …
Ich versuche ein tieferes Verständnis dafür zu bekommen, wie die Low-Level-Operationen von Programmiersprachen funktionieren und insbesondere wie sie mit dem Betriebssystem / der CPU interagieren. Ich habe wahrscheinlich jede Antwort in jedem Stack / Heap-bezogenen Thread hier auf Stack Overflow gelesen und sie sind alle brillant. Aber eines habe ich …
Ich bereite einige Schulungsmaterialien in C vor und möchte, dass meine Beispiele zum typischen Stapelmodell passen. In welche Richtung wächst ein C-Stack unter Linux, Windows, Mac OSX (PPC und x86), Solaris und den neuesten Unixen?
Ich habe den folgenden Code: #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]); } Und ich habe folgende Ausgabe: 0x7fffbfcd2da0 0x7fffbfcd2da4 0x7fffbfcd2da8 0x7fffbfcd2dac Warum ist die Adresse von a[0]kein Vielfaches von 0x1000? Was genau __attribute__((aligned(x)))macht das? Ich …
Ich versuche gerade zu verstehen, wie der Stapel funktioniert, daher habe ich beschlossen, mir eine Assemblersprache beizubringen. Ich verwende dieses Buch: http://savannah.nongnu.org/projects/pgubook/ Ich benutze Gas und entwickle unter Linux Mint . Ich bin etwas verwirrt von etwas: Soweit mir bekannt ist, ist ein Stack einfach eine Datenstruktur. Ich ging also …
Wenn ich meinen Code ausführe, löst Node.js eine "RangeError: Maximum call stack size exceeded"Ausnahme aus, die durch zu viele rekursive Aufrufe verursacht wird. Ich habe versucht, die Stapelgröße von sudo node --stack-size=16000 appNode.j um zu erhöhen , aber Node.js stürzt ohne Fehlermeldung ab. Wenn ich dies erneut ohne sudo ausführe, …
Auf der Wikpedia-Seite zu .COM-Dateien https://en.wikipedia.org/wiki/COM_file heißt es: .COM-Dateien unter DOS setzen alle x86-Segmentregister auf den gleichen Wert und das SP-Register (Stack Pointer) auf 0xFFFE. Der Stack beginnt also ganz oben im Speichersegment und arbeitet von dort aus. Dies setzt den Stapel jedoch so, dass er ein Wort unter dem …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.