프로그래밍

CreateThread 쓸때 쓰레드가 실행할 함수가 static함수여야 하는 이유가 머임??

 

22.JPG

요건 헤더 파일이고

11.JPG

이건 소스파일인데

 

저기서 CreateThread(NULL,0,ThreadFunc, this, 0, &dwThreadID); 에서 ThreadFunc가 형식이 안맞는다길래 찾아보니까

static 함수로 쓰거나 클래스 맴버 함수 아닌 놈을 쓰라더라구 그래서 static을 붙여주거나 클래스 밖으로 빼주니까 되던데

 

왜 CreateThread에서 클래스의 맴버 함수를 쓰면 안되는거임?

 

4개의 댓글

2020.12.06

형이쓰는건 윈도우에서 제공하는 라이브러리임//process.h

그 라이브러리는 c용도로 작성된거라 c++에서 쓸땐 전역함수(static)를 넣어야 돌아감

non static 함수 넣고싶으면 c++표준 쓰레드 쓰면됨//thread

0
2020.12.06
@재끼

아하 C++ 기능을 C에 넣으려 했던 거구나 ㄳㄳ

0
2020.12.06

클래스 멤버 함수는 숨겨진 this 매게변수라는게 있음

우리가 멤버함수를 선언, 정의할때는 따로 안 쓰지만 컴파일 단계에서 컴파일러가 자동으로 추가하는 부분인데

이 this가 추가됨으로 인해서 CreateThread에서 요구하는 함수포인터의 형과 불일치하게 되기 때문.

0
2020.12.06
@하테나

ㅇㅎ ㄳㄳ

0
무분별한 사용은 차단될 수 있습니다.
번호 제목 글쓴이 추천 수 날짜 조회 수
180666 [컴퓨터] 윈도우 11 구매하려고하는데 1 바나나사탕 0 24 분 전 13
180665 [컴퓨터] 이정도 스펙이면 4k 게임 잘 돌아갈까? 2 뽀삐뽀삐 0 1 시간 전 47
180664 [컴퓨터] SSD를 마이그레이션 떴는데 부팅 선택이 안됨 2 참치는동원 0 6 시간 전 60
180663 [컴퓨터] 이제 논KCPU는 기본쿨러+HB보드로만 조립해야할듯 Vv연옥의사신vV 0 7 시간 전 95
180662 [컴퓨터] 중국 모니터 살까 생각중임 5 너가전부옳아 0 8 시간 전 131
180661 [컴퓨터] 얼마전에 고장나서 다 뒤집어깠다던 개붕이인데 1 밀실심사 0 9 시간 전 112
180660 [잡담] 15일에 ㄷㄱㄷㄱ 첫조립 해야지 1 함박눈 0 9 시간 전 68
180659 [잡담] 스피커 소리가 안ㄴ남 ㅜㅜ 도움!! 匠人 0 10 시간 전 42
180658 [컴퓨터] 5700x3D가 작업에서 그리 못써먹을정돈가?? 5 포츈아그렇구나 0 11 시간 전 197
180657 [컴퓨터] 애플 매직트랙패드 이거 재밌다 4 해날 0 12 시간 전 144
180656 [컴퓨터] 컴터 업글 질문좀 받아줘 5 lake 0 13 시간 전 68
180655 [컴퓨터] 유튜브 재생 버벅임/렉 문제 개인해결함 6 GLaDOS 0 14 시간 전 129
180654 [잡담] 스위치2 나오면 사려는데 7 00원짜리 0 14 시간 전 135
180653 [잡담] 배틀메이지랑 셀레스티얼 연기루머 뭐임ㅋㅋㅋㅋㅋㅋㅋ 3 Gargantua 1 15 시간 전 71
180652 [컴퓨터] 노트북 선택좀 도와주세요! 2 두부는초장에찍먹 0 16 시간 전 89
180651 [모바일] 이심에서 유심으로 이식하는거 좀 아는 사람 있음까.. 6 ULTEGRA 0 16 시간 전 91
180650 [잡담] 시놀로지 223j랑 베스테이션이랑 뭐가 더 좋음?? 10 고민된다여 0 18 시간 전 93
180649 [컴퓨터] 2.5 SSD -> M.2 체감됨? 13 스피오스피오스피... 0 19 시간 전 263
180648 [모바일] 아이폰16 VS SE4 + 워치 6 누군가는해야하잖아 0 19 시간 전 219
180647 [컴퓨터] 형님들 급함!! 기존 HDD사용중 SDD추가 할려는데 윈도우 2 아응에 0 19 시간 전 93