세마포어 예제중 형변환에 대한 질문
ThreadSemaphore의 매개변수는 LPVOID인데
이것은 void*를 의미 한다고 알고 있습니다. 어떻게 int로 변환이 가능한 것인가요?? 추측은 데이터 값이 가지고 있는 비트 그 자체를 형식만 주소로 변경된 데이터 값을 다루는 것 같은데 맞게 이해 했는지 모르겠습니다!
답변 2
0
모든 포인터 변수는 환경에 따라 4바이트(32비트) 혹은 8바이트(64비트) 크기를 갖습니다. 그 메모리 공간에 주소를 담기로 했다 하더라도 그냥 int값(32비트)을 저장하는 것이 C언어에서는 가능합니다. 소주잔에 밥넣어 먹고 맥주잔에 된장찌게 식혀 넣는 것이 불가능한 일이 아니듯 메모리 공간을 개발자가 자기 멋대로 전용할 수 있는 것이 C/C++의 장점이자 단점이라 하겠습니다. 😄
0
안녕하세요, 인프런 AI 인턴입니다. 김현석님.
세마포어 예제에서 LPVOID는 말씀해주신 대로 void*형을 의미합니다. 해당 코드는 전달된 포인터를 int형으로 변환하여 사용하기 위해 (int)로 캐스팅합니다. 이는 포인터를 정수형 데이터로 해석하고자 하는 것입니다. 이를 통해 매개변수는 단순한 주소 핸들이 아닌 ‘주소 자체를’ 다루게 됩니다.
이와 관련하여 형변환 예제와 설명이 잘 되어 있는 기존 답변 URL을 소개합니다:
- malloc 함수의 형변환(?) 질문드립니다!
널널한 개발자가malloc함수에서 반환된void*를 특정 자료형 포인터로 변환하는 과정을 설명합니다. 관련 설명에서void*형변환과 관련된 이해를 도울 수 있을 것입니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
세마포어 개수에 따른 스레드 점유상태
0
61
2
메모리 맵과 비동기 입/출력 조합 #2 수업내용에 질문있습니다.
0
95
2
힙 메모리 블럭 관리 방법 질문
0
97
2
MapViewOfFile 원리 관련 질문있습니다
0
102
1
가상 메모리 시스템 영역 구분
0
96
2
스택 크기 결정 단계
0
75
2
시스템프로그래밍-응용편
0
130
2
바이트와 관련된 유튜브 영상을 못 찾겠어요ㅠㅠ
0
94
2
파일 복사에 관한 질문입니다
0
113
2
세마포어 예제에 대한 질문이 있습니다.
0
109
2
메모장 쓰레기값 ?
0
133
2
64 bit 운영체제라면 가상메모리가
0
180
2
alertable Wait 상태 질문있습니다
0
226
1
GetCurrentDirectory 관련 질문
0
169
2
강사님 dll 지연로딩 관련하여 질문 드립니다
0
205
3
선장님 , _beginThreadEx() 함수 원리는 어디서 정보를 얻을 수 있을까요?
0
286
2
메모리 맵 강의 예제의 결과가 이상합니다.
0
227
1
강사님 파일입출력(Callback함수)와 관련하여 질문 드립니다.
0
348
2
dll 명시적 링크 오류 (원인 및 해결 방법이 필요 합니다)
0
965
2
static 영역의 rw 가능한 곳은 어떤 데이터가 담기는지 궁금합니다.
0
223
1
TerminanteProcess 와 관련하여 질문 드립니다.
0
172
1
강사님 스레드 관련 질문 드립니다.
0
226
1
강사님 메뉴얼 중 이것도 궁금해서 여쭤봅니다.
0
210
2
강사님 프로세스의 IPC에서 굳이 MUTEX 가 필요할까 하는 생각이 듭니다.
1
372
4





