-7
winapi의 CreateThread() 함수를 사용하여 스레드를 만들려고하는데 작동하지 않습니다. 모든CreateThread()가 작동하지 않습니다.
void Inc::init() {
DWORD id;
HANDLE hnd = CreateThread(NULL,0,asd,this,0,&id);
}
DWORD Inc::asd(LPVOID lparam) {
Inc* g = (Inc*)lparam;
printf("asd");
}
ASD에서 어떤 오류가() 당신은 디버깅 우리가 도울 수있는 최소한의 컴파일 코드를 게시되지 않은 모든
확실하지 않습니까? 인쇄하는 문자열이 플러시되지 않으므로 버퍼링 문제 일 수 있습니다. 인쇄 한 문자열에 후행 줄 바꾸기를 추가하십시오. 그리고 디버거를 사용하여 스레드 함수에 * 중단 점 *을 넣어 실행 된 것을 확인하는 방법을 배웁니다. 아마도'CreateThread'가 반환하는 것을 확인해야 할 것입니다. –
디버깅 도움말을 찾는 질문 ("이 코드가 작동하지 않는 이유는 무엇입니까?")에는 원하는 동작, 특정 문제 또는 오류 및 질문 자체에서이를 재현하는 데 필요한 가장 짧은 코드가 포함되어야합니다. [MCVE]와 [ask]를 만드는 방법을 읽어보십시오. – tambre
@Someprogrammerdude, Windows는 라인 버퍼링을 사용하지 않으므로 개행을 추가해도 아무런 차이가 없습니다. (아마도 제 3 자 C 런타임을 사용하고있을 지 모르지만 그럴 가능성은 희박합니다.) –