inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

Windows 시스템 프로그래밍 - 기본

스레드에 대한 기본 이론

스택 크기 결정 단계

해결된 질문

75

LoDf

작성한 질문수 6

0

그 스택크기가 1MB이고 이게 언제 결정되는지 설명해주실때 컴파일 단계라고 알려주셨는데 via 스레드 스택 챕터보면 링커가 스택크기를 exe파일이나 DLL파일의 pe헤더상에 추가한다고 하는데 그러면 링크단계에서 결정되는게 아닌지 궁금합니다

c system-programming vc++

답변 2

0

널널한 개발자

확인해보니 제가 잘못 설명한 것이 맞습니다. 생각하시는 것처럼 링크 단계로 보는 것이 적확해보입니다. 관련해서 내용을 더 알아본 후 강의를 수정하도록 하겠습니다. 제보 고맙습니다. 😄

1

LoDf

넵 수고 많으십니다ㅎㅎ

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다. LoDf님.

스택 크기 결정에 대한 질문을 주셨군요. 스택 크기가 언제 결정되는지에 대한 혼란이 있을 수 있습니다. 이를 명확히 하기 위해 다음과 같이 설명드리겠습니다.

일반적으로 프로그래밍에서 스택의 크기는 개발자가 설정할 수 있으며, 이 설정은 컴파일러나 링커 옵션을 통해 조정됩니다. 보통 프로세스의 스택 크기는 링커 옵션을 통해 결정되며, 이 값은 생성되는 실행 파일(exe)이나 DLL의 PE(Portable Executable) 헤더에 포함됩니다. 따라서, 최종적으로 스택 크기는 링크 단계에서 결정됩니다.

  1. 컴파일 단계: 코드가 기계어로 번역되는 과정입니다. 이 단계에서는 스택 크기와 직접적인 관련은 없습니다.

  2. 링크 단계: 컴파일된 오브젝트 파일들이 결합되어 최종 실행 파일이 만들어지는 과정입니다. 이때 링커 옵션을 통해 스택 크기를 설정할 수 있으며, 이 설정은 실행 파일의 헤더에 저장됩니다.

따라서, 스택 크기가 결정되는 주된 지점은 바로 링크 단계입니다. 이는 PE 헤더에 포함되어 운영체제가 프로그램을 로드할 때 참조할 수 있게 합니다.

추가적으로, 실행 중인 스레드별로 스택 크기를 동적으로 다르게 조정할 수 있는 방법도 있지만, 기본 스택 크기의 설정은 위와 같은 과정을 거치게 된다는 점 참고해 주세요.

위 설명이 도움이 되셨기를 바라며, 관련된 링커 옵션 설정에 대한 질문도 확인해 보시면 더 자세한 내용을 얻으실 수 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

세마포어 개수에 따른 스레드 점유상태

0

61

2

메모리 맵과 비동기 입/출력 조합 #2 수업내용에 질문있습니다.

0

96

2

힙 메모리 블럭 관리 방법 질문

0

97

2

MapViewOfFile 원리 관련 질문있습니다

0

102

1

가상 메모리 시스템 영역 구분

0

96

2

시스템프로그래밍-응용편

0

130

2

바이트와 관련된 유튜브 영상을 못 찾겠어요ㅠㅠ

0

94

2

파일 복사에 관한 질문입니다

0

114

2

세마포어 예제에 대한 질문이 있습니다.

0

111

2

메모장 쓰레기값 ?

0

133

2

64 bit 운영체제라면 가상메모리가

0

180

2

alertable Wait 상태 질문있습니다

0

226

1

GetCurrentDirectory 관련 질문

0

169

2

세마포어 예제중 형변환에 대한 질문

0

162

2

강사님 dll 지연로딩 관련하여 질문 드립니다

0

205

3

선장님 , _beginThreadEx() 함수 원리는 어디서 정보를 얻을 수 있을까요?

0

286

2

메모리 맵 강의 예제의 결과가 이상합니다.

0

227

1

강사님 파일입출력(Callback함수)와 관련하여 질문 드립니다.

0

348

2

dll 명시적 링크 오류 (원인 및 해결 방법이 필요 합니다)

0

968

2

static 영역의 rw 가능한 곳은 어떤 데이터가 담기는지 궁금합니다.

0

223

1

TerminanteProcess 와 관련하여 질문 드립니다.

0

172

1

강사님 스레드 관련 질문 드립니다.

0

226

1

강사님 메뉴얼 중 이것도 궁금해서 여쭤봅니다.

0

210

2

강사님 프로세스의 IPC에서 굳이 MUTEX 가 필요할까 하는 생각이 듭니다.

1

373

4