About: Call stack

An Entity of Type: Inflection113803782, from Named Graph: http://dbpedia.org, within Data Space: dbpedia.org

In computer science, a call stack is a stack data structure that stores information about the active subroutines of a computer program. This kind of stack is also known as an execution stack, program stack, control stack, run-time stack, or machine stack, and is often shortened to just "the stack". Although maintenance of the call stack is important for the proper functioning of most software, the details are normally hidden and automatic in high-level programming languages. Many computer instruction sets provide special instructions for manipulating stacks.

Property Value
dbo:abstract
  • في علوم الكمبيوتر، مكدس الاستدعاءات (بالإنجليزية: call stack)‏ هو مجموعة بنية البيانات التي تخزين معلومات حول النشطة الوظائف الفرعية ل برنامج كمبيوتر. يُعرف هذا النوع من المكدس أيضًا باسم مكدس التنفيذ ، أو مكدس البرامج ، أو مكدس التحكم ، أو مكدس وقت التشغيل ، أو مكدس الماكينة ، وغالبًا ما يتم اختصاره إلى «المكدس» فقط. على الرغم من أهمية صيانة مكدس الاستدعاءات للتشغيل السليم لمعظم البرامج، إلا أن التفاصيل عادةً ما تكون مخفية وتلقائية في لغات البرمجة عالية المستوى. توفر العديد من مجموعات تعليمات الكمبيوتر إرشادات خاصة للتعامل مع الحزم. يتم استخدام مكدس الاستدعاءات لعدة أغراض ذات صلة، ولكن السبب الرئيسي لامتلاك واحد هو تتبع النقطة التي يجب أن يعيد كل روتين فرعي نشط التحكم إليها عند الانتهاء من التنفيذ. الروتين الفرعي نشط هو روتين تم استدعاؤه، ولكنه لم يكتمل بعد، وبعد ذلك يجب إعادة التحكم إلى نقطة الاستدعاء. يمكن أن تتداخل عمليات التنشيط هذه للروتينات الفرعية مع أي مستوى (تكراري كحالة خاصة)، ومن هنا تأتي بنية المكدس. على سبيل المثال، إذا قام روتين فرعي DrawSquare باستدعاء روتين فرعي DrawLine من أربعة أماكن مختلفة، DrawLine أن يعرف DrawLine مكان العودة عند اكتمال تنفيذه. لإنجاز ذلك، يتم دفع العنوان الذي يتبع التعليمات التي DrawLine إلى DrawLine ، عنوان المرسل ، إلى الجزء العلوي من مكدس المكالمات مع كل مكالمة. (ar)
  • Zásobník volání (často zkrátka zásobník) je v informatice datová struktura typu zásobník, na kterou se při běhu procesu ukládají informace týkající se provádění podprogramů. Přestože správa zásobníku je důležitou součástí prakticky veškerého software, většina programátorů s ním explicitně nepracuje, neboť ve vyšších programovacích jazycích se o správnou funkci zásobníku stará automaticky překladač. Naopak v nízkoúrovňových jazycích, například v jazyce symbolických adres, musí programátor pracovat se zásobníkem explicitně. Zásobník volání je používán pro několik účelů, přičemž tím hlavním je uložení informace o tom, do jakého stavu se má proces vrátit po ukončení provádění aktuálně běžícího podprogramu. Nejdůležitější takovou informací je návratová adresa, tedy adresa, z níž se má načíst první instrukce po návratu z podprogramu. Jako návratová adresa bývá na zásobník volání při provádění volání podprogramu uložena adresa instrukce následující po volající instrukci. (cs)
  • Unter einem Aufrufstapel (englisch call stack, procedure stack) versteht man in der Softwaretechnik und Informatik einen besonders genutzten Stapelspeicher, der zur Laufzeit eines Programms den Zustand der gerade aufgerufenen Unterprogramme enthält. Er ist vorgesehener Bestandteil der meisten Prozessorarchitekturen und seine Benutzung wird daher von speziellen Instruktionen und Registern unterstützt oder sogar erfordert. Als Stack Machine (engl. für Stapelmaschine, nicht zu verwechseln mit Kellerautomat) wird eine Klasse von Prozessorarchitekturen bezeichnet, die gänzlich um einen Aufrufstapel herum konstruiert sind, demgegenüber verwenden Registermaschinen zwar üblicherweise einen Aufrufstapel, sind jedoch nicht ausschließlich auf seine Nutzung angewiesen. Die Verwaltung des Aufrufstapels wird in Hochsprachen üblicherweise abstrahiert und stattdessen von Compiler und Betriebssystem übernommen. Anders als beim paradigmatischen Stapelspeicher sind die Zugriffsmöglichkeiten auf den Aufrufstapel in vielen Architekturen jedoch nicht auf das oberste Element beschränkt und die Klassifizierung als Stapel ergibt sich aus der Verwendung als Stapelspeicher für Rücksprungadressen von Unterprogrammen. Zudem ist der Inhalt des Speichers sehr inhomogen und verknüpft Nutzdaten mit Verwaltungsdaten. (de)
  • Στην επιστήμη της πληροφορικής, η στοίβα κλήσεων (call stack) είναι μια δομή δεδομένων στοίβας που κρατά πληροφορίες σχετικά με τις ενεργές υπορουτίνες ενός προγράμματος. Αυτός ο τύπος στοίβας είναι γνωστός και σαν στοίβα εκτέλεσης (execution stack), στοίβα ελέγχου (control stack), στοίβα συναρτήσεων (function stack), ή στοίβα χρόνου εκτέλεσης (run-time stack), και συχνά αναφέρεται απλά σαν «η στοίβα». Αν και η συντήρηση της στοίβας κλήσεων είναι σημαντική για τη σωστή λειτουργία των πιο πολλών προγραμμάτων, οι λεπτομέρειες συνήθως είναι αόρατες στις γλώσσες υψηλού επιπέδου. Μια στοίβα κλήσεων χρησιμοποιείται για πολλούς σχετικούς μεταξύ τους σκοπούς, αλλά ο κύριος λόγος που υπάρχει είναι για να παρακολουθείται το σημείο στο οποίο κάθε ενεργή υπορουτίνα θα επιστρέψει τον έλεγχο όταν τελειώσει η εκτέλεσή της (ενεργές υπορουτίνες είναι αυτές που έχουν κληθεί αλλά ακόμα δεν έχει τελειώσει η εκτέλεσή τους, επιστρέφοντας). Αν, για παράδειγμα μια υπορουτίνα DrawSquare καλεί μια υπορουτίνα DrawLine από τέσσερα διαφορετικά σημεία, ο κώδικας της DrawLine πρέπει με κάποιον τρόπο να γνωρίζει πού να επιστρέψει. Αυτό συνήθως γίνεται με κώδικα για κάθε κλήση μέσα στην DrawSquare που τοποθετεί τη διεύθυνση στη μνήμη (της "διεύθυνσης επιστροφής") μιας στη στοίβα κλήσεων μετά την εντολή της κλήσης. (el)
  • En komputadoj, plenumstako estas stako en kiu dum rulado de komputila programo estas registrataj la datumoj pri la subprogramoj kaj diversaj traktiloj aktivaj je koncerna tempopunkto. Kvankam la tenado de la plenumstako estas grava parto de programplenumo, tamen por uzanto de altnivelaj programlingvoj ĝi ne estas perceptebla, ĉar farata aŭtomate. Plenumstako servas por pluraj interrilataj celoj, el kiuj speciale atentinda estas tenado de revenadresoj. Revenadreso estas la punkto kien vokita subprogramo devas redoni la stirfluon post sia normala finiĝo. Voko de subprogramo P kreas «aktivan ekzempleron» de P; kiam la plenumo de tiel vokita subprogramo finiĝas, la de ĝi kreita aktivaĵo detruiĝas. Ĉar la subprogramo P povas esti rekursia, tial samtempe povas kunekzisti pluraj aktivaĵoj P1, P2, … Pn, ĉiu el kiuj havas sian revenadreson (kaj sian aron da parametroj, sian aron da lokaj variabloj ktp). Tial oni bezonas stakon por teni la aktivaĵojn. Ekz‑e se oni volas desegni kvadraton, oni eble uzos proceduron Kvadrato, kiu siavice por desegni la laterojn povas 4-foje voki la proceduron Rekto, desegnantan segmenton de rekto. Tiam ĉe unu el la 4 vokoj de Rekto la plenumstako povas aspekti kiel sur la apuda bildo. Tie estas prezentita tre simpla okazo, kiam la du aktivaj subprogramoj ekzistas en po 1 ekzemplero kaj posedas po 1 stakkadron en la plenumstako. Oni ankaŭ vidas la parametrojn, lokajn variablojn, revenadresojn, kiuj estas partoj de siaj respektivaj kadroj. La plenumstakajn montrilojn oni kutime lokas en reĝistroj. Multaj procesoroj disponigas specialajn maŝinajn komandojn por manipuli stakon (kaj speciale la plenumstakon, ebligante surstakigi la revenadreson ĉe procedurvoko). Tial la plenumstakon oni ankaŭ iam nomas vokstako. Cetere, iam tiun terminon oni rezervas al pli speciala aparata stako, kiu entenas nur la revenadresojn. (eo)
  • In computer science, a call stack is a stack data structure that stores information about the active subroutines of a computer program. This kind of stack is also known as an execution stack, program stack, control stack, run-time stack, or machine stack, and is often shortened to just "the stack". Although maintenance of the call stack is important for the proper functioning of most software, the details are normally hidden and automatic in high-level programming languages. Many computer instruction sets provide special instructions for manipulating stacks. A call stack is used for several related purposes, but the main reason for having one is to keep track of the point to which each active subroutine should return control when it finishes executing. An active subroutine is one that has been called, but is yet to complete execution, after which control should be handed back to the point of call. Such activations of subroutines may be nested to any level (recursive as a special case), hence the stack structure. For example, if a subroutine DrawSquare calls a subroutine DrawLine from four different places, DrawLine must know where to return when its execution completes. To accomplish this, the address following the instruction that jumps to DrawLine, the return address, is pushed onto the top of the call stack with each call. (en)
  • En ciencias de la computación, una pila de llamadas (en inglés call stack) es una estructura dinámica de datos LIFO, (una pila), que almacena la información sobre las subrutinas activas de un programa de computadora. Esta clase de pila también es conocido como una pila de ejecución, pila de control, pila de función, o pila de tiempo de ejecución, y a menudo se describe en forma corta como "la pila". Una pila de llamadas es de uso frecuente para varios propósitos relacionados, pero la principal razón de su uso, es seguir el curso del punto al cual cada subrutina activa debe retornar el control cuando termine de ejecutar. (Las subrutinas activas son las que se han llamado pero todavía no han completado su ejecución ni retornando al lugar siguiente desde donde han sido llamadas). Si, por ejemplo, una subrutina DibujaCuadrado llama a una subrutina DibujaLinea desde cuatro lugares diferentes, el código de DibujaLinea debe tener una manera de saber a dónde retornar. Esto es típicamente hecho por un código que, para cada llamada dentro de DibujaCuadrado, pone la dirección de la instrucción después de la de llamada particular (la "dirección de retorno") en la pila de llamadas. Puesto que la pila de llamadas se organiza como una pila, el programa que llama (a la subrutina) empuja (push) la dirección de retorno en la pila (la dirección en la que el programa continuará después de volver de la subrutina), y la subrutina llamada, cuando finaliza, retira (pop) la dirección de retorno de la pila de llamadas y transfiere el control a esa dirección. Si una subrutina llamada, llama a otra subrutina, la primera empuja (push) su dirección de retorno en la pila de llamadas, y así sucesivamente, con la información de direcciones de retorno apilándose y desapilándose como el programa dicte. Si el empujar (push) consume todo el espacio asignado para la pila de llamadas, ocurre un error llamado desbordamiento de pila. Agregando una entrada de subrutina a la pila de llamadas es a veces llamado bobinando o enrollando (winding); inversamente, la eliminación de entradas es llamado desenbobinando o desenrollando (unwinding). Usualmente hay exactamente una pila de llamadas asociado a un programa en ejecución (o más precisamente, con cada tarea o hilo de un proceso), aunque pilas adicionales pueden ser creados para el manejo de señales o la multitarea cooperativa (como con ). Puesto que hay solamente una pila en este importante contexto, puede ser referido como la pila (implícito, "de la tarea"). En lenguajes de programación de alto nivel, las características específicas de la pila de llamadas usualmente son ocultadas al programador. Ellos solo tienen acceso a la lista de funciones, y no a la memoria de la pila en sí misma. La mayoría de los lenguajes ensambladores, por una parte, requieren que los programas sean invocados con manipulación explícita de la pila. En un lenguaje de programación, los detalles reales de la pila dependen del compilador, del sistema operativo, y del conjunto de instrucciones disponible. (es)
  • En informatique, la pile d’exécution (souvent abrégée en la pile ; en anglais, call stack) est une structure de données de type pile qui sert à enregistrer des informations au sujet des fonctions actives dans un programme informatique. Une pile d'exécution est utilisée pour emmagasiner plusieurs valeurs, mais sa principale utilisation est de garder la trace de l'endroit où chaque fonction active doit retourner à la fin de son exécution (les fonctions actives sont celles qui ont été appelées, mais n’ont pas encore terminé leur exécution). Si, par exemple, un programme DessineCarré appelle une fonction DessineLigne à quatre endroits différents, la fonction DessineLigne doit avoir un moyen de savoir où poursuivre l’exécution à la fin de chacune de ses exécutions. Cela est fait par chacun des appels à la fonction DessineLigne qui place l’adresse de l'instruction suivant l'appel (l’adresse de retour) sur la pile d’exécution avant de transférer le contrôle de l’exécution à la fonction DessineLigne. Étant donné que la pile d'exécution est une pile, l'appelant pousse l'adresse de retour sur la pile, et la fonction appelée, quand elle se termine, récupère l'adresse de retour au sommet de la pile d'exécution (et y transfère le contrôle). Si une fonction appelée appelle une autre fonction, elle poussera son adresse de retour sur la pile d'exécution. Les adresses de retour s'accumulent donc sur la pile d’exécution et sont récupérées une à une lors de la fin de l’exécution des fonctions. Si l’accumulation des adresses de retour consomme tout l'espace alloué à la pile d'exécution, un message d'erreur appelé un dépassement de pile se produit. En plus d’emmagasiner des adresses de retour, la pile d’exécution emmagasine aussi d’autres valeurs associées comme les variables locales de la fonction, les paramètres de la fonction, etc. Dans les langages de programmation de haut niveau, les spécificités de la pile d'exécution sont cachées au programmeur. Le programmeur a uniquement accès aux appels de fonctions et aux paramètres associés, et non au contenu de la pile elle-même. Cependant, pour faciliter le débogage, le programmeur peut obtenir une représentation de la pile d’exécution appelée la trace d'appels. D’autre part, la plupart des langages d'assemblage requièrent des programmeurs une connaissance et une manipulation complexe de la pile d’exécution. Les détails de la structure et du contenu de la pile d’exécution dans un langage de programmation dépendent du compilateur, du système d'exploitation et du jeu d'instructions de l’ordinateur. (fr)
  • Een call stack (ook wel control stack of run-time stack genoemd) is een datastructuur (een stack of stapel) die in het geheugen van een computer wordt bijgehouden tijdens de uitvoering van een programma. De call stack wordt gebruikt om twee soorten gegevens op te slaan: * Gegevens die in het programma gebruikt worden, zoals lokale variabelen. * Administratieve gegevens die nodig zijn tijdens de uitvoering van het programma, zoals de oude inhoud van registers die tijdelijk hergebruikt worden. De call stack van een programma wordt bijgehouden door het programma zelf. De machinecode die hiervoor verantwoordelijk is wordt door de compiler tijdens de compilatie gegenereerd. De programmeur die een programma schrijft hoeft hier zelf geen rekening mee te houden. Sommige assemblerinstructies manipuleren de call stack expliciet (bijvoorbeeld met POP en PUSH instructies) of impliciet (bijvoorbeeld CALL en RET, die het retouradres op de stack plaatsen en er weer afhalen). (nl)
  • 콜 스택(call stack) 이란 컴퓨터 프로그램에서 현재 실행 중인 서브루틴에 관한 정보를 저장하는 스택 자료구조이다. 또한 실행 스택(execution stack), 제어 스택 (control stack), 런 타임 스택 (run-time) 스택 혹은 기계 스택 (machine stack) 이라고도 하며, 그냥 줄여서 스택 (the stack) 이라고도 한다. 소프트웨어 프로그램의 기능 수행에 있어 콜 스택의 관리가 중요함에도 불구하고, 상세한 구현은 고급 프로그래밍 언어에서는 보통 감추어지며 자동화되어 있다. 많은 컴퓨터들이 스택 관리를 위한 특별한 명령어(기계어)를 제공하고 있다. 콜 스택을 사용하는 목적은 여러 가지이지만, 주된 이유는 현재 실행 중인 서브루틴의 실행이 끝났을 때, 제어를 반환할 지점을 보관하기 위해서이다. 실행 중인 서브루틴은, 호출되어서 그 실행이 아직 완료되지는 않았지만, 완료후에는 호출된 지점으로 제어를 넘겨야 한다. 서브루틴의 이러한 실행은 여러 단계로 중첩될 수도 있는데, 다른 호출에 의해 또 다른 서브루틴으로 넘어가버리거나, 재귀같은 특별한 경우가 있다. 이러한 중첩의 특성 때문에 스택 자료구조를 사용하는 것이다. 예를 들어 만약 DrawSqure 라는 서브루틴이 있고 DrawSquare 가 DrawLine을 호출한다고 해보자. (Square는 Line 4개니까 4번 호출하게 될 것이다.) DrawLine 서브루틴은 자신이 호출된 뒤 어디로 돌아가야할지 알고 있어야만 한다. (그래야 4번만 불릴 것이다.) 이를 구현하기 위해, 메모리 주소가 서브루틴이 끝날 때 반환 주소(return address)를 확인하도록 하고, 이를 위해 서브루틴 호출시 콜 스택에 반환 주소를 제일 먼저 집어넣는다. (ko)
  • コールスタック (Call Stack)は、プログラムで実行中のサブルーチンに関する情報を格納するスタックである。実行中のサブルーチンとは、呼び出されたが処理を完了していないサブルーチンを意味する。実行スタック (Execution Stack)、制御スタック (Control Stack)、関数スタック (Function Stack)などとも呼ばれる。また、単に「スタック」と言ったときにコールスタックを指していることが多い。コールスタックを正しく保つことは多くのソフトウェアが正常動作するのに重要であるが、その詳細は高水準言語からは透過的である。 (ja)
  • In informatica, un call stack (traducibile letteralmente dall'inglese come "pila delle chiamate") è una zona di memoria di un programma, organizzata in forma di stack, nella quale sono immagazzinate le informazioni sulle subroutine attive in un dato momento (le subroutine attive sono quelle che sono state invocate ma la cui esecuzione non è terminata). Può essere tradotto come stack delle invocazioni a funzione (o chiamate a funzione) o stack delle invocazioni a metodo (o chiamate a metodo) a seconda del tipo di subroutine coinvolto. Questo tipo di pila è spesso chiamato anche execution stack, control stack, function stack, o run-time stack, oppure, quando non vi è possibilità di confusione, semplicemente stack. L'insieme delle informazioni specifiche di una subroutine all'interno di un call stack è detto frame. (it)
  • Em ciência da computação, uma pilha de chamada (ou pilha de execução) é uma pilha que armazena informações sobre as sub-rotinas ativas num programa de computador. Seu principal uso é registrar o ponto em que cada sub-rotina ativa deve retornar o controle de execução quando termina de executar. Por exemplo, se uma sub-rotina DesenhaQuadrado chama (invoca) a sub-rotina DesenhaLinha em quatro pontos diferentes, o código de DesenhaLinha deve saber como retornar a DesenhaQuadrado. Isso geralmente é feito adicionando o endereço de retorno na pilha de chamada após a chamada da sub-rotina. Sendo organizada como uma pilha, quem invoca a sub-rotina empilha o endereço de retorno. Quando termina sua execução, a sub-rotina invocada desempilha o endereço de retorno, desviando a execução para aquele endereço. Se durante sua execução a sub-rotina invocada também invocar outra sub-rotina, o endereço de retorno também será empilhado, e assim por diante. Quando esse processo de empilhamento consome todo o espaço alocado para a pilha de chamada, ocorre um erro chamado estouro de pilha. Existe um pilha de chamada para cada thread sendo executada, ainda que mais pilhas possam ser criadas para o tratamento de sinais ou para multitarefa cooperativa. Em linguagens de alto nível, detalhes da pilha de chamada são geralmente escondidos do programador. Eles têm acesso somente a lista de sub-rotinas empilhadas, e não à memória da pilha de chamada em si. Por outro lado, a maioria das linguagens de montagem requerem que programador manipule a pilha de chamada. (pt)
  • Стек вызовов (от англ. call stack; применительно к процессорам — просто «стек») — в теории вычислительных систем, LIFO-стек, хранящий информацию для возврата управления из подпрограмм (процедур, функций) в программу (или подпрограмму, при вложенных или рекурсивных вызовах) и/или для возврата в программу из обработчика прерывания (в том числе при переключении задач в многозадачной среде). При вызове подпрограммы или возникновении прерывания, в стек заносится адрес возврата — адрес в памяти следующей инструкции приостановленной программы и управление передается подпрограмме или подпрограмме-обработчику. При последующем вложенном или рекурсивном вызове, прерывании подпрограммы или обработчика прерывания, в стек заносится очередной адрес возврата и т. д. При возврате из подпрограммы или обработчика прерывания, адрес возврата снимается со стека и управление передается на следующую инструкцию приостановленной (под-)программы. (ru)
  • Anropsstack är en datastruktur som används för att spara tillståndet i exekverandet av en procedur vid övergången till att exekvera en annan procedur, så att det blir möjligt att senare gå tillbaka och fortsätta exekverandet av den första proceduren. Anropsstacken fungerar ungefär som en hög papperslappar staplade på varandra, där CPU:n kommer åt endast den översta lappen. (sv)
  • В інформатиці, стек викликів (англ. call stack) це структура даних у вигляді стека, яка зберігає інформацію про активні підпрограми комп'ютерної програми. Такий тип стека також відомий під назвами стек виконання, стек управління або рантайм стек, часто скорочується до просто "стек". Хоча підтримка функціонування стека викликів дуже важлива для будь-якої програми, деталі роботи зі стеком зазвичай приховані під час роботи з високорівневими мовами програмування. Стек викликів використовується для декількох пов'язаних цілей, але головне його призначення відслідковувати точку повернення з кожної активної підпрограми, тобто адресу інструкції куди має бути повернуте виконання після завершення підпрограми. (Активними підпрограмами вважаються такі, що були викликані, але ще не завершили виконання поверненням.) Якщо, наприклад, підпрограма DrawSquare викликає підпрограму DrawLine з чотирьох різних місць, тоді код DrawLine має знати куди йому повертати виконання. Це зазвичай робиться кодом для кожного виклику підпрограми всередині DrawSquare, він записує адресу інструкції наступної після конкретного виклику (адреси повернення) на верхівку стека викликів. Алгоритм повторюється для кожного наступного вкладеного виклику. При поверненні з підпрограми, адреса повернення знімається зі стека і керування передається наступній інструкції у призупиненій підпрограмі. (uk)
  • 呼叫堆疊(英語:Call stack,港台称“呼叫堆叠”)别称有:执行栈(execution stack)、控制栈(control stack)、运行时栈(run-time stack)与机器栈(machine stack),是電腦科學中存儲有關正在執行的子程式的訊息的堆疊。英文有時直接简称“栈”(the stack),但堆疊中不一定僅存儲子程式訊息。幾乎所有電腦程式都依賴於呼叫堆疊,而高階語言一般將呼叫堆疊的細節隱藏至後台。 呼叫堆疊最經常被用於存放子程式的返回位址。在呼叫任何子程式時,主程式都必須暫存子程式執行完畢後應該返回到的位址。因此,如果被呼叫的子程式還要呼叫其他的子程式,其自身的返回位址就必須存入呼叫堆疊,在其自身執行完畢後再行取回。在遞迴程式中,每一層次遞迴都必須在呼叫堆疊上增加一條位址,因此如果程式出現無限遞迴(或僅僅是過多的遞迴層次),呼叫堆疊就會產生堆疊溢位。 (zh)
dbo:thumbnail
dbo:wikiPageExternalLink
dbo:wikiPageID
  • 1718105 (xsd:integer)
dbo:wikiPageLength
  • 26223 (xsd:nonNegativeInteger)
dbo:wikiPageRevisionID
  • 1122794691 (xsd:integer)
dbo:wikiPageWikiLink
dbp:date
  • 2010-07-24 (xsd:date)
dbp:url
dbp:wikiPageUsesTemplate
dcterms:subject
rdf:type
rdfs:comment
  • コールスタック (Call Stack)は、プログラムで実行中のサブルーチンに関する情報を格納するスタックである。実行中のサブルーチンとは、呼び出されたが処理を完了していないサブルーチンを意味する。実行スタック (Execution Stack)、制御スタック (Control Stack)、関数スタック (Function Stack)などとも呼ばれる。また、単に「スタック」と言ったときにコールスタックを指していることが多い。コールスタックを正しく保つことは多くのソフトウェアが正常動作するのに重要であるが、その詳細は高水準言語からは透過的である。 (ja)
  • Anropsstack är en datastruktur som används för att spara tillståndet i exekverandet av en procedur vid övergången till att exekvera en annan procedur, så att det blir möjligt att senare gå tillbaka och fortsätta exekverandet av den första proceduren. Anropsstacken fungerar ungefär som en hög papperslappar staplade på varandra, där CPU:n kommer åt endast den översta lappen. (sv)
  • 呼叫堆疊(英語:Call stack,港台称“呼叫堆叠”)别称有:执行栈(execution stack)、控制栈(control stack)、运行时栈(run-time stack)与机器栈(machine stack),是電腦科學中存儲有關正在執行的子程式的訊息的堆疊。英文有時直接简称“栈”(the stack),但堆疊中不一定僅存儲子程式訊息。幾乎所有電腦程式都依賴於呼叫堆疊,而高階語言一般將呼叫堆疊的細節隱藏至後台。 呼叫堆疊最經常被用於存放子程式的返回位址。在呼叫任何子程式時,主程式都必須暫存子程式執行完畢後應該返回到的位址。因此,如果被呼叫的子程式還要呼叫其他的子程式,其自身的返回位址就必須存入呼叫堆疊,在其自身執行完畢後再行取回。在遞迴程式中,每一層次遞迴都必須在呼叫堆疊上增加一條位址,因此如果程式出現無限遞迴(或僅僅是過多的遞迴層次),呼叫堆疊就會產生堆疊溢位。 (zh)
  • في علوم الكمبيوتر، مكدس الاستدعاءات (بالإنجليزية: call stack)‏ هو مجموعة بنية البيانات التي تخزين معلومات حول النشطة الوظائف الفرعية ل برنامج كمبيوتر. يُعرف هذا النوع من المكدس أيضًا باسم مكدس التنفيذ ، أو مكدس البرامج ، أو مكدس التحكم ، أو مكدس وقت التشغيل ، أو مكدس الماكينة ، وغالبًا ما يتم اختصاره إلى «المكدس» فقط. على الرغم من أهمية صيانة مكدس الاستدعاءات للتشغيل السليم لمعظم البرامج، إلا أن التفاصيل عادةً ما تكون مخفية وتلقائية في لغات البرمجة عالية المستوى. توفر العديد من مجموعات تعليمات الكمبيوتر إرشادات خاصة للتعامل مع الحزم. (ar)
  • Zásobník volání (často zkrátka zásobník) je v informatice datová struktura typu zásobník, na kterou se při běhu procesu ukládají informace týkající se provádění podprogramů. Přestože správa zásobníku je důležitou součástí prakticky veškerého software, většina programátorů s ním explicitně nepracuje, neboť ve vyšších programovacích jazycích se o správnou funkci zásobníku stará automaticky překladač. Naopak v nízkoúrovňových jazycích, například v jazyce symbolických adres, musí programátor pracovat se zásobníkem explicitně. (cs)
  • Στην επιστήμη της πληροφορικής, η στοίβα κλήσεων (call stack) είναι μια δομή δεδομένων στοίβας που κρατά πληροφορίες σχετικά με τις ενεργές υπορουτίνες ενός προγράμματος. Αυτός ο τύπος στοίβας είναι γνωστός και σαν στοίβα εκτέλεσης (execution stack), στοίβα ελέγχου (control stack), στοίβα συναρτήσεων (function stack), ή στοίβα χρόνου εκτέλεσης (run-time stack), και συχνά αναφέρεται απλά σαν «η στοίβα». Αν και η συντήρηση της στοίβας κλήσεων είναι σημαντική για τη σωστή λειτουργία των πιο πολλών προγραμμάτων, οι λεπτομέρειες συνήθως είναι αόρατες στις γλώσσες υψηλού επιπέδου. (el)
  • Unter einem Aufrufstapel (englisch call stack, procedure stack) versteht man in der Softwaretechnik und Informatik einen besonders genutzten Stapelspeicher, der zur Laufzeit eines Programms den Zustand der gerade aufgerufenen Unterprogramme enthält. Er ist vorgesehener Bestandteil der meisten Prozessorarchitekturen und seine Benutzung wird daher von speziellen Instruktionen und Registern unterstützt oder sogar erfordert. Als Stack Machine (engl. für Stapelmaschine, nicht zu verwechseln mit Kellerautomat) wird eine Klasse von Prozessorarchitekturen bezeichnet, die gänzlich um einen Aufrufstapel herum konstruiert sind, demgegenüber verwenden Registermaschinen zwar üblicherweise einen Aufrufstapel, sind jedoch nicht ausschließlich auf seine Nutzung angewiesen. Die Verwaltung des Aufrufstapels (de)
  • In computer science, a call stack is a stack data structure that stores information about the active subroutines of a computer program. This kind of stack is also known as an execution stack, program stack, control stack, run-time stack, or machine stack, and is often shortened to just "the stack". Although maintenance of the call stack is important for the proper functioning of most software, the details are normally hidden and automatic in high-level programming languages. Many computer instruction sets provide special instructions for manipulating stacks. (en)
  • En komputadoj, plenumstako estas stako en kiu dum rulado de komputila programo estas registrataj la datumoj pri la subprogramoj kaj diversaj traktiloj aktivaj je koncerna tempopunkto. Kvankam la tenado de la plenumstako estas grava parto de programplenumo, tamen por uzanto de altnivelaj programlingvoj ĝi ne estas perceptebla, ĉar farata aŭtomate. (eo)
  • En ciencias de la computación, una pila de llamadas (en inglés call stack) es una estructura dinámica de datos LIFO, (una pila), que almacena la información sobre las subrutinas activas de un programa de computadora. Esta clase de pila también es conocido como una pila de ejecución, pila de control, pila de función, o pila de tiempo de ejecución, y a menudo se describe en forma corta como "la pila". (es)
  • En informatique, la pile d’exécution (souvent abrégée en la pile ; en anglais, call stack) est une structure de données de type pile qui sert à enregistrer des informations au sujet des fonctions actives dans un programme informatique. En plus d’emmagasiner des adresses de retour, la pile d’exécution emmagasine aussi d’autres valeurs associées comme les variables locales de la fonction, les paramètres de la fonction, etc. (fr)
  • 콜 스택(call stack) 이란 컴퓨터 프로그램에서 현재 실행 중인 서브루틴에 관한 정보를 저장하는 스택 자료구조이다. 또한 실행 스택(execution stack), 제어 스택 (control stack), 런 타임 스택 (run-time) 스택 혹은 기계 스택 (machine stack) 이라고도 하며, 그냥 줄여서 스택 (the stack) 이라고도 한다. 소프트웨어 프로그램의 기능 수행에 있어 콜 스택의 관리가 중요함에도 불구하고, 상세한 구현은 고급 프로그래밍 언어에서는 보통 감추어지며 자동화되어 있다. 많은 컴퓨터들이 스택 관리를 위한 특별한 명령어(기계어)를 제공하고 있다. (ko)
  • In informatica, un call stack (traducibile letteralmente dall'inglese come "pila delle chiamate") è una zona di memoria di un programma, organizzata in forma di stack, nella quale sono immagazzinate le informazioni sulle subroutine attive in un dato momento (le subroutine attive sono quelle che sono state invocate ma la cui esecuzione non è terminata). Può essere tradotto come stack delle invocazioni a funzione (o chiamate a funzione) o stack delle invocazioni a metodo (o chiamate a metodo) a seconda del tipo di subroutine coinvolto. (it)
  • Een call stack (ook wel control stack of run-time stack genoemd) is een datastructuur (een stack of stapel) die in het geheugen van een computer wordt bijgehouden tijdens de uitvoering van een programma. De call stack wordt gebruikt om twee soorten gegevens op te slaan: * Gegevens die in het programma gebruikt worden, zoals lokale variabelen. * Administratieve gegevens die nodig zijn tijdens de uitvoering van het programma, zoals de oude inhoud van registers die tijdelijk hergebruikt worden. (nl)
  • Стек вызовов (от англ. call stack; применительно к процессорам — просто «стек») — в теории вычислительных систем, LIFO-стек, хранящий информацию для возврата управления из подпрограмм (процедур, функций) в программу (или подпрограмму, при вложенных или рекурсивных вызовах) и/или для возврата в программу из обработчика прерывания (в том числе при переключении задач в многозадачной среде). При возврате из подпрограммы или обработчика прерывания, адрес возврата снимается со стека и управление передается на следующую инструкцию приостановленной (под-)программы. (ru)
  • Em ciência da computação, uma pilha de chamada (ou pilha de execução) é uma pilha que armazena informações sobre as sub-rotinas ativas num programa de computador. Seu principal uso é registrar o ponto em que cada sub-rotina ativa deve retornar o controle de execução quando termina de executar. Por exemplo, se uma sub-rotina DesenhaQuadrado chama (invoca) a sub-rotina DesenhaLinha em quatro pontos diferentes, o código de DesenhaLinha deve saber como retornar a DesenhaQuadrado. Isso geralmente é feito adicionando o endereço de retorno na pilha de chamada após a chamada da sub-rotina. (pt)
  • В інформатиці, стек викликів (англ. call stack) це структура даних у вигляді стека, яка зберігає інформацію про активні підпрограми комп'ютерної програми. Такий тип стека також відомий під назвами стек виконання, стек управління або рантайм стек, часто скорочується до просто "стек". Хоча підтримка функціонування стека викликів дуже важлива для будь-якої програми, деталі роботи зі стеком зазвичай приховані під час роботи з високорівневими мовами програмування. (uk)
rdfs:label
  • مكدس الاستدعاءات (ar)
  • Zásobník volání (cs)
  • Aufrufstapel (de)
  • Στοίβα κλήσεων (el)
  • Plenumstako (eo)
  • Pila de llamadas (es)
  • Call stack (en)
  • Pile d'exécution (fr)
  • Call stack (it)
  • 콜 스택 (ko)
  • Call stack (nl)
  • コールスタック (ja)
  • Pilha de chamada (pt)
  • Стек вызовов (ru)
  • Anropsstack (sv)
  • Стек викликів (uk)
  • 呼叫堆疊 (zh)
rdfs:seeAlso
owl:sameAs
prov:wasDerivedFrom
foaf:depiction
foaf:isPrimaryTopicOf
is dbo:wikiPageDisambiguates of
is dbo:wikiPageRedirects of
is dbo:wikiPageWikiLink of
is foaf:primaryTopic of
Powered by OpenLink Virtuoso    This material is Open Knowledge     W3C Semantic Web Technology     This material is Open Knowledge    Valid XHTML + RDFa
This content was extracted from Wikipedia and is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License