Mac OS 10.7.2를 실행하고 실행하려고 합니다.libfaketime그러나 아무 일도 일어나지 않았습니다. 시간과 날짜가 시스템에 설정된 대로 정확하게 유지된다는 점만 제외하면 지시한 대로 정확하게 설치하고 실행했습니다. 다른 사람이 OSX에서 이것을 성공적으로 실행할 수 있었습니까?
$ date
Mon Jan 30 21:05:09 CST 2012
$ LD_PRELOAD=./libfaketime.so.1 FAKETIME="-15d" date
Mon Jan 30 21:05:32 CST 2012
답변1
Mac OS에서는 LD_PRELOAD 대신 DYLD_INSERT_LIBRARIES를 사용하세요. DYLD_FORCE_FLAT_NAMESPACE를 설정해야 할 수도 있습니다. 예를 들어
DYLD_INSERT_LIBRARIES=./libfaketime.so.1 DYLD_FORCE_FLAT_NAMESPACE=y FAKETIME="-15d" date
답변2
다음과 같이 라이브러리를 컴파일하면:
gcc -shared -fPIC mylib.c -o mylib.so
환경 변수를 만들 수 있습니다.
export DYLD_INSERT_LIBRARIES=./mylib.so
export DYLD_FORCE_FLAT_NAMESPACE=y
그런 다음 새로 로드된 라이브러리로 실행합니다.
./program
관찰하다:
macOS High Sierra(v 10.13.1)에서 작업하기