«stack» 태그된 질문

LIFO (Last In, First Out) 데이터 구조.

6
Java의 스택 및 힙 메모리
내가 이해하는 것처럼 Java에서 스택 메모리는 프리미티브 및 메소드 호출을 보유하고 힙 메모리는 객체를 저장하는 데 사용됩니다. 수업이 있다고 가정하자 class A { int a ; String b; //getters and setters } a클래스 의 프리미티브 는 어디에 A저장됩니까? 왜 힙 메모리가 존재합니까? 스택에 모든 것을 저장할 수없는 이유는 무엇입니까? 객체가 …

7
호출 스택의 정적 최대 크기는 왜됩니까?
몇 가지 프로그래밍 언어로 작업 한 결과, 필자는 스레드 스택이 필요에 따라 자동으로 확장되는 대신 미리 정의 된 최대 크기를 갖는 이유를 항상 궁금했습니다. 이에 비해 대부분의 프로그래밍 언어에서 볼 수있는 매우 일반적인 일부 고수준 구조 (목록, 맵 등)는 새로운 요소가 추가되는 동안 필요에 따라 확장되도록 설계되었으며, 사용 가능한 메모리 …
46 stack 

6
두 개의 대기열을 사용하여 스택을 구현하는 요점은 무엇입니까?
다음과 같은 숙제가 있습니다. 두 개의 큐를 사용하여 스택 메소드 push (x) 및 pop ()을 구현하십시오. 이것은 나에게 이상하게 보입니다. 스택 은 (LIFO) 대기열입니다 구현하기 위해 두 개의 대기열이 필요한 이유를 모르겠습니다. 나는 주변을 검색했다 : GeeksForGeeks 스택 오버플로 몇 가지 해결책을 찾았습니다. 이것이 내가 끝낸 것입니다. public class Stack<T> …
34 java  stack 

6
중첩 함수 호출을 인라인 할 수있는 경우 프로그램에서 호출 스택을 사용하는 이유는 무엇입니까?
컴파일러가 다음과 같은 프로그램을 사용하지 않는 이유는 무엇입니까? function a(b) { return b^2 }; function c(b) { return a(b) + 5 }; 다음과 같은 프로그램으로 변환하십시오. function c(b) { return b^2 + 5 }; 따라서 컴퓨터가 c (b)의 반송 주소를 기억할 필요가 없습니까? 프로그램을 저장하고 컴파일을 지원하는 데 필요한 하드 …


1
프레임 포인터 설명
에서는 어셈블리 MIPS , 스택 포인터 레지스터 및 프레임 포인터에 대한 다른 레지스터가있다. 프레임 포인터는 무엇이고 그 목적은 무엇입니까? 스택 포인터와 어떻게 다릅니 까?
28 assembly  stack 

6
스택에서 모든 것이 훨씬 더 효율적으로 이루어질 수 있다면 왜 힙이 필요한가요?
이것은 실제로 어제 우리가 오늘날 사용하는 응용 프로그램에 스택 과 힙이 모두 필요한 이유 에 대해 질문 한 것과 관련이 있습니다 (단순한 & 단일 표준으로 이동). 그러나 많은 응답은 힙을 할당 / 참조하려고 시도하는 것보다 수백 또는 수천 배 더 빠르기 때문에 스택을 대체 할 수 없음을 나타 냈습니다. 힙을 …
24 stack  heap 

4
왜 "푸시"라는 스택에 무언가를 넣는가?
http://dictionary.reference.com 에 따르면 푸시 동사 (객체와 함께 사용) 멀리 이동시키기 위해 힘을 가해 누르거나 누르는 것. 힘을 가하여 특정 방식으로 (무언가) 움직이고; 밀어 만들다; 드라이브 : 무언가를 옆으로 밀어; 문을 밀어 넣으십시오 . 장애물을 제쳐두고 영향을 미치거나 달성 하기 위해 : 군중을 통해 자신의 길을 밀어. 확장 또는 투사를 야기하는 …

4
스택 사용량이 너무 많습니까?
최근에 C 또는 C ++를 작성할 때 Java와 달리 옵션이기 때문에 스택에 모든 변수를 선언합니다. 그러나 스택에 큰 것을 선언하는 것은 나쁜 생각이라고 들었습니다. 왜 이럴까요? 스택 오버플로가 관련되어 있다고 생각하지만 그 이유가 명확하지 않습니다. 스택의 물건이 너무 많습니까? 100MB 파일을 스택에 넣지 않고 문자열 버퍼 또는 기타로 사용할 수십 …

2
스택과 힙의 크기는 OS에 의해 어떻게 제한됩니까?
참고 : 답변 할 수있는 특정 OS를 고려해야하는 경우 Linux를 고려하십시오. 프로그램을 실행할 때마다 스택 영역과 힙 영역이있는 가상 메모리 공간이 제공됩니다. 질문 1 : 스택과 힙에 정적 크기 제한이 있습니까 (예 : 각각 2 기가 바이트), 또는 프로그램 실행 중 메모리 할당에 따라 변경되는이 제한은 동적 입니까 (즉, 사용되는 …
21 linux  memory  stack  heap 

4
C / C ++에서 함수 호출의 스택 프레임을 이해하고 있습니까?
스택 프레임이 어떻게 작성되고 어떤 변수 (매개 변수)가 어떤 순서로 쌓 이도록 푸시되는지 이해하려고합니까? 일부 검색 결과에 따르면 C / C ++ 컴파일러는 함수 내에서 수행 된 작업을 기반으로 결정합니다. 예를 들어, 함수가 전달 된 int 값을 1 (++ 연산자와 유사)만큼 증가시키고 리턴하면 함수의 모든 매개 변수와 로컬 변수를 레지스터에 …
19 c++  c  compiler  stack 

4
TCO가 없을 때 스택을 날릴 염려가 언제 있습니까?
JVM을 대상으로하는 새로운 프로그래밍 언어에 대한 토론이있을 때마다 필연적으로 다음과 같은 사람들이 있습니다. "JVM은 테일 콜 최적화를 지원하지 않으므로 많은 폭발 스택을 예측합니다." 그 주제에는 수천 가지 변형이 있습니다. 이제 Clojure와 같은 일부 언어에는 사용할 수 있는 특별한 재귀 구문이 있음을 알고 있습니다. 내가 이해하지 못하는 것은 테일 콜 최적화가 …

2
상각 분석? (가장 뛰어난 성능 보장)
상각 분석이란 무엇입니까? 내 프로그램에서 최악의 성능 보장 을 달성하는 데 어떻게 도움이 됩니까? 내가 한 읽고 다음과 같은 기술이 프로그래머가 달성 할 수있는 최악의 경우 성능 보장 (즉, 내 자신의 말로 : 보증 그 프로그램의 실행 시간이 최악의 캐스트의 실행 시간을 초과하지 것이다) : 무작위 알고리즘 (예 : 퀵 …

5
임베디드 시스템에서 단일 어레이에 대량의 스택을 할당하는 데 단점이 있습니까?
일반적으로 일부 데이터가 전역, 정적 또는 스택에 있는지 여부를 결정하는 데 아무런 문제가 없습니다 (여기서는 동적 할당이 없으므로 힙 사용 없음). 나는 이것 과 같은 몇 가지 Q / A를 읽었 지만 시스템 메모리에 비해 엄청난 양의 데이터가 관련되어 있기 때문에 내 질문은 더 구체적입니다. 개선하려고하는 기존 코드 (디자인, 가능한 …

1
적색 지대의 목적은 무엇입니까?
적색 영역은 "할당되지 않은"스택 포인터를 넘어 메모리에서 고정 크기 영역입니다. 컴파일러는 간단한 리프 함수로 해당 영역에 액세스하기 위해 어셈블리를 생성합니다. 그러나 나는 레드 존에 대한 실제 이점을 볼 수 없습니다. 스택 포인터 이외의 메모리에 액세스하면 실제로 위험하며 쉽게 데이터가 손상 될 수 있습니다 . 왜 이렇게합니까? 2 개의 프로세서 명령어 …
12 assembly  stack 

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.