C++アプリケーションから。 AIX、HP-UX、Linux、OSX、Solaris向けにコンパイルされているかどうかは、アプリケーションの有無を判断する簡単な方法です。システムの起動から5分以内に実行されていますか?どのようにしてPOSIXアプリケーションがあるかを判断できます。システムの起動から5分以内に実行されていますか?
Windowsでは、私はこれを行うことができます。
// return true if OS has recently booted up
bool at_os_boot_time()
{
/* GetTickCount() returns the number of miliseconds since system start.
So "...the time will wrap around to zero if the system is run
continuously for 49.7 days" - so this function will erroneously
return true for a 5 minute period 49.7 days after boot */
return ::GetTickCount() < 5 * 60 * 1000;
}
私はUnixの世界に相当するものを見つけることができません。
非常に有益な答えです。ありがとうございました。 – Ant
getutxidでは、utmpファイルをセットアップし、正しく更新し、切り捨てるなどの必要がありません。組み込みデバイスでは、それはうまくいかないでしょう。 sysinfo(2)でカーネルからの稼働時間を得ることは、はるかに良い計画です。 –