저는 Windows API의 초보자입니다. 최근에 CreateThread와 TerminateThread를 사용하지 말아야한다는 것을 배웠습니다. 내가 _beginthreadex
로 바꿨지 만, 내가 어떻게 해야할지 모르겠다. use _endthreadex
?어디에 _endthreadex - windows API를 사용합니까?
// MyThreadFunction - outputs "#.) I Work" and ends
unsigned int __stdcall MyThreadFunction(void * lpParam)
{
int i = (int)lpParam;
cout << i << ".) I work! " << endl;
_endthreadex(0);
return 0;
}
이 _endthreadex
의 내 위치가 정확 :
예를를 들어, 여기에 내가 함께 테스트 된 기본 기능은 무엇입니까? 나는 0으로 돌아 가기 전에 그것을 가지고있다. 그것은 나에게 이상하게 보인다? 나는 _endthreadex
에 대한 msdn 페이지에서 함수가 끝날 때 자동으로 호출되지만 더 나은 메모리 정리를 위해 호출해야합니다. 그래서 그 코드를 넣으려고 한 것입니다. 올바르게 보이지 않습니다. 죄송합니다. 나쁜 질문. 나는 능력을 최대한 발휘하여 최선을 다하고 있습니다.
CreateThread를 사용할 때 아무런 문제가 없습니다. 아직 고대의 MSVC를 사용하지 않는 한. –
@DavidHeffernan _begin/_endthread를 사용하지 않으면 정적으로 연결된 CRT에 메모리 누수 문제가 있습니다. 이 변화에 대한 참고 자료가 있습니까? –