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)で作業する