3

fstatfsなどの特定の関数を探しましたが、次のコードが見つかりました。ほとんど何も実行されません。__set_errnoマクロを確認しました。これは、エラー番号を設定するだけです。

int
__fstatfs (int fd, struct statfs *buf)
{
  __set_errno (ENOSYS);
  return -1;
}

したがって、コアライブラリのセットがASMに実装されていますが、それはどのように機能していますか?もしそうなら、なぜこれらの弱い機能が存在するのでしょうか?

4

1 に答える 1

4

呼び出しはOSに依存していると思うので、表示されているのは単なるスタブです。io / sys / statfs.hにはある種のエイリアスがあるようで、Linux実装の候補はsysdeps / unix / sysv / linux/fstatfs64.cファイルにあります。

于 2012-07-05T15:15:40.377 に答える