2016-07-29 4 views
1

可能な限り最小限のヘッダーファイルを使用して時間を計算したいと考えています。だから、私は場合にもわからない、<time.h>ヘッダの内部を見て、私は一種の何extern手段を理解Cが時間を測定する方法<time.h>

extern time_t time (time_t *__timer) __THROW; 

として時間関数を、見つかりましたが、この関数の本体がどこにあるか私はどこにも見つけることができませんでしたそんなことがある。

どのようにこのtime機能を知っていますか、どこで見つけることができますか?

+0

標準ライブラリのどこかにあります。 – immibis

+0

'time'は標準Cライブラリの一部です。あなたのプラットフォームの詳細が何であるか分かりません。 [glibc](https://www.gnu.org/software/libc/)は、Linuxの共通ライブラリです。 – kaylum

+0

通常、システムにソースを含める必要がないように、バイナリlibsにプリコンパイルされます。例えば、Ubuntu x64のlibc.soに 'objdump -TC /lib/x86_64-linux-gnu/libc-2.19.so | grep "\ " ' – neuront

答えて

0

time.hは、C標準ライブラリのヘッダです。

システムのCライブラリ実装で見つけることができます。 Thisはglibcのposix実装です。

+0

リンク先のソースコードはスタブですが、実際にそれを読んでいますか? –

+0

リンクをチェックしましたが、関数が常に戻り値を設定していると思われます。 –

+0

彼は私がチェックしなかったのは正しいです。あなたが探している実装は[sysdeps](https://sourceware.org/git/?p=glibc.git;a=tree;f=sysdeps;hb=HEAD)にあります。 – aebudak

関連する問題