関数の「実際の」Cソースコード、つまりgccおよびclangコンパイラでの実際の実装を見たいです。ヘッダーファイルを見ると「本物」という意味ですが、プロトタイプと拡張機能のように見えるものしか表示されません。
たとえば、標準のCtmpnam()
関数のコードが必要だとします。stdio.hヘッダーで定義されています(標準では、プロトタイプのみを定義する必要があります。コード自体は、任意の(コンパイラー作成者が選択した)ヘッダーファイルから取得できます)。しかし、私が見ることができるのは
/* Generate a temporary filename. */
extern char *tmpnam (char *__s) __THROW __wur;
__END_NAMESPACE_STD
それを機能させる関数のコードはどこにありますか?それが私が探しているものです。同様に、clangコンパイラでは見つかりません。可能であれば、誰かがプログラマーのライターがこのモデルを選んだ理由を説明できますか?それぞれのヘッダーファイルにコードを明示的に残しませんか?ある種の最適化を実行するのは「トリック」ですか、それともそのようなものですか?