나는 서버 프로그램을 만들었고, 'clock()'함수가 음수 값을 반환하고 서버가 추락 한 곳에서 두 번 이상 오류가 발생했습니다. Windows 32 비트 VPS에서 프로그램이 100 시간 이상 실행되었을 때 두 번 모두 발생했습니다.clock() 반환 값이 음수입니까?
가 여기에 내가 MAIN.CPP에있는 설정입니다 (해당 컷) : 아주 간단 그거야
while (1) {
Sleep(STEP);
//execute main code like connection handling, AI, etc.
//check for clock error
if (clock() < 0) {
//error saved here
//close server
return 0;
}
}
합니다. clock()은 프로그램의 나머지 부분에서 광범위하게 사용되기 때문에 이런 문제가 발생하면 많은 문제가 발생합니다.
내가 왜 부정적인 가치를 반환합니까, 그리고 어떻게 고칠 수 있습니까 궁금해?
감사합니다.
이것은 내가 발견 한 것입니다. – Edwin
프로그램이 596 시간 동안 실행되었을 수 있습니다. 솔직히 말해서 얼마나 오랫동안 작동했는지 추적하지 못했습니다. 그렇다면 문제가 될 수 있습니다. clock()이 -1을 반환하면 clock_t를 0으로 재설정 할 수 있습니까? – Matthew
C99에 따르면 " 사용 된 프로세서 시간을 사용할 수 없거나 값 **을 나타낼 수없는 경우 ** 함수 은 (clock_t) (- 1) 값을 반환합니다." – fefe