• 締切済み

outp関数について

_outpという関数がありますがこれはライブラリ関数ですか? またライブラリ関数なら、ライブラリだけで実現される関数なのか それとも、APIを裏で呼び出して実現してる関数なのか 教えてもらえないでしょうか。

みんなの回答

  • rinkun
  • ベストアンサー率44% (706/1571)
回答No.2

どこの環境で使っているかな。 _outpは通常ポート出力命令です。I/Oポートへの書き込みを行います。 普通の実装では、CPUのI/O命令か、メモリマップドI/Oのアドレスへの書き込み命令です。APIをコールする実装はしりません。 通常は組込みシステムでI/Oポートにアクセスする場合やデバイスドライバで使います。保護されたOSではユーザランドのアプリケーションから使うことはできないと考える方が良いでしょう。 Microsoft Visual C++の場合、_outpはWindows95~Meでは使えますが、NT系ではユーザプロセスからは公式には使えません。ただしこの使用を可能にするデバイスドライバが出ているようで、それを導入するとNT系でもアプリケーションから使えるようです。

hirohiro8888
質問者

補足

回答ありがとうございます。 大変参考になりました。

  • jacta
  • ベストアンサー率26% (845/3158)
回答No.1

> _outpという関数がありますが 標準関数にはありません。 お使いの処理系には、その名前の関数があるのかもしれません。 しかし、実装方法については処理系ごとに異なるはずです。

hirohiro8888
質問者

補足

回答ありがとうございます。 標準関数ではないですね。 ポートI/O関数というみたいです。 仕組みがイマイチつかめないです。。。

関連するQ&A