2011-07-24 3 views
1

私は車輪を再発明しようとしています。私はC++でタイムクラスを作成したいのですが、このクラスをc/C++標準ライブラリに依存させたいのですが、なぜですか?私は楽しいために小さなOSを書いているので、私はどのように起動するのかに関する情報を見つけることができないようです。誰かが正しい方向に私を導くことができますか?私が見つけた検索のほとんどは、時間を取得するためのstdライブラリを使用するためにどれだけある...ホイールを再活性化する:時間クラス

おかげ

申し訳ありませんが、私は今のx86のある小さなOSという問題を修正しましょう。

+0

あなたの環境について具体的に説明する必要があります。どのようなシステムのための "小さなOS"?あなたのx86 PC?あなたのiPhone? C++ 0xより前のC++で時間を取得する標準的な方法はありません。 – Nemo

+0

...あなたはどのような機能をタイムクラスで使いたいですか?独自のOSを構築している場合は、現在の時刻を取得するためにどのシステムコールが提供されますか? – Mat

答えて

1

古いPCには、決してHPET(高精度イベントタイマ)を使用しないRTC(リアルタイムクロック)があります。

プログラミング方法を知りたい場合は、linuxカーネルソースを調べてください。ユニースは実行中のプロセスに関連した時計も持っていますが、プロセスが実行されているときにのみ点滅します。これは完全にOS機能です。

更新:http://www.intel.com/hardwaredesign/hpetspec_1.pdf

+0

これは私がリアルタイムクロックをプログラムする方法を探していたものです。システムタイムクロックありがとう= D –

+0

これはクロスプラットフォームで動作するだろう、私は良い仕様を与えられていない、申し訳ありません彼はこのための時計を書くようだった、それはクロスプラットフォームを動作する必要があります。 –

+0

クロスプラットフォームOSを作成していますか?ああ、神様。それはx86で動作するはずです –

0

あなたは時間クラスのコードを見ることはできませんか?標準ライブラリの任意のコードを簡単に表示できます。

+0

hmmm私はそれが実際のcファイルではなく、実際のcファイルではないと仮定しました。 –

+0

これはおそらくヘッダーファイル(つまりtime.h)などにあります。 –

+0

確かに.hファイルから_interface_にニックネームを付けることができます。実装はそこにはなく、ニックネームは著作権侵害となる可能性があります。 (_standard_ライブラリは、標準的な実装ではなく、標準のインタフェースを持っているため、そのインタフェースを正当に使用することができるため、呼び出されます) – MSalters

関連する問題