• ベストアンサー

プログラム言語とAPI(windows API)の関係は?

プログラミング言語といってもいろいろありますが、 このそれぞれのコンパイルでは、オブジェクトコードをつくっているのですよね? APIは、どこでプログラミング言語と関係しているのでしょうか? コンパイルでは、APIに直してからコンパイルしているのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • parapa
  • ベストアンサー率15% (42/273)
回答No.1

Win32API(DLL群)は DLL(ダイナミックリンクライブラリ)の名の通り 動的にリンクして動作しています。 静的リンクとは違います。

その他の回答 (2)

  • rigidbody
  • ベストアンサー率60% (20/33)
回答No.3

>それぞれのコンパイルでは、オブジェクトコードをつくっているのですよね? そうです。但しオブジェクトコードを作るのは、コンパイラ言語とアセンブリ言語に限ります。 >APIは、どこでプログラミング言語と関係しているのでしょうか? 直接は関係ありません。APIは機能群の事です。どんな言語からも使えるようになってる事が多いです。 が、現実的には、C/C++形式の関数やクラスから使えるようになっている事が多いです。 >コンパイルでは、APIに直してからコンパイルしているのでしょうか? 大雑把に言ってそうです。厳密にはAPIに"直す"のではなく、APIを"呼び出す"ようにコンパイルします。 直接APIを呼ぶコードを書かなくても、裏で何らかのAPIが呼ばれている事が多いです。

  • OsieteG00
  • ベストアンサー率35% (777/2173)
回答No.2

コンパイルはオブジェクトコードへの変更で、リンクでライブラリとの結合で実行形式になります。 .netではCLRとよばれるランタイムライブラリを利用することにより、オブジェクトコードの生成といっても良いレベルでの配布が可能となっています。APIを呼び出すことも可能ですが、ランタイムライブラリでほとんどの機能を網羅することができます。 APIというのはあくまでもApplication Program Interface ですから、ランタイムライブラリへの受け口に過ぎません。実際にはDLLやOCXなどへのインタフェース部分です。 VBなどの言語をコンパイルした結果、APIを呼び出す形式になっているかといえばそうです。意識してプログラムしていないだけで、実際には見えない部分でウィンドウズのシステムライブラリ(DLL群)をコールしています。

関連するQ&A