2011-05-02 3 views

답변

1

freshmeat에서 libfaketime은 해당 플랫폼을 Linux 및 POSIX로 나열합니다. OSX는 listed as fully POSIX compliant이므로 그대로 사용할 수 있어야합니다.

편집

clock_gettime 유일한 문제 기능이고 당신이 바보 성의 느낌을하는 경우, 당신은이 hack 작은 시도 할 수 :

확인
#if _POSIX_TIMERS > 0 
clock_gettime(CLOCK_REALTIME, &tp); 
#else 
struct timeval tv; 
gettimeofday(&tv, NULL); 
tp.tv_sec = tv.tv_sec; 
tp.tv_nsec = tv.tv_usec*1000; 
#endif 
+0

불행하게도, OSX는 컴파일되지 않도록해야합니다 libfaketime 위해 clock_gettime를 구현하지 않습니다. https://discussions.apple.com/thread/2235198?threadID=2235198 자세한 내용은 http://webcache.googleusercontent.com/search?q=cache:Cipb1gLFRJoJ:www.wand를 참조하십시오. .net.nz/~ smr26/wordpress/2009/01/19/monotonic-time-in-mac-os-x/+ OSX + clock_gettime & cd = 1 & hl = en & ct = clnk & gl = us & source = www.google.com –

+0

불행합니다. 이제 그건 거짓 광고입니다 ... –

+0

불행히도, 그것은 허위 광고가 아닙니다. UNIX 03는'clock_gettime'을 요구하지 않습니다. UNIX 03 인증은 POSIX.1-2001을 준수해야합니다. POSIX 버전에서,'clock_gettime'은 타이머 옵션의 일부입니다; 즉 필수는 아니며 선택 사항입니다. POSIX.1-2008에서는 Timers 옵션이 Base 사양에 병합되었습니다. 이후 버전의 유닉스 인증에는'clock_gettime'이 필요할 것 같지만 유닉스는 그렇지 않습니다. : –

관련 문제