• 締切済み

APIとライブラリの違いを教えてください。

双方とも呼び出すだけで使えるソースコードの塊のような認識をしていますが、どういう違いがあるのでしょうか? 当方プログラマーではありませんが、この二つの名前をよく聞くので気になっています。 よろしくお願いいたします。

みんなの回答

  • jjon-com
  • ベストアンサー率61% (1599/2592)
回答No.2

http://okwave.jp/qa/q7443196.html の私の過去の回答ANo.4 を参照。 ということで。 APIで呼び出される機能の実体は,ソースコードを翻訳して得られたソフトウェアの塊(ライブラリ)であることがほとんどでしょうが,インタフェースという視点からすると実体がどうであるかは関係ないのです。 実体であるライブラリ,その界面であるAPI,着目点が違っているということです。

  • dscripty
  • ベストアンサー率51% (166/325)
回答No.1

API の I はインターフェース。 ある物が外部に公開している、ボタンとかスイッチとかのこと。 自動販売機なら、コイン投入口とか商品選択ボタン。 今回は、Application Programming Interface なので、 アプリケーションが、 外部プログラムに公開している、 アプリケーションへのアクセスの方法の 一つ一つを意味していて、 ライブラリは、API とは全く独立した概念で、ウィキペディアのライブラリ項目を読むとそのまま書いてあるから読んでみて! http://ja.wikipedia.org/wiki/%E3%83%A9%E3%82%A4%E3%83%96%E3%83%A9%E3%83%AA ライブラリの中に、API が含まれているかもしれないけれど、API だけ取り出して集めたとしても、ある対象へのアクセス手段の集まりなだけで、ライブラリとはならない。 自動販売機から、コイン投入口や商品選択ボタンを取り外して集めても、自動販売機にはならないということ。 かな?

関連するQ&A

  • アプリケーションとソースコードの違いについて

    僕はプログラマー志望の学生ですが、就職活動でソースコード+アプリケーションの提出を求められました。そもそもソースコードとアプリケーションって同じようなものだと思ってたので、混乱しています。この2つの違いって以下のようなものですか? ソースコード:人間が理解できるプログラミング言語を用いて書いたコンパイル前のファイル。 アプリケーション:コンパイル後のクラスファイル。 つまり、企業にはコンパイル前のファイルとコンパイル後のクラスファイルを提出しろということですか?

    • ベストアンサー
    • Java
  • API関数とDLL関数

    API関数とDLL関数って同じものですか? ネットで調べると・・・ API関数=Win API→ひとつひとつの関数(単独で機能するプログラムコード の塊)。     API関数はdllファイルの中にある関数をさす。 とのようなことが書いてあります。つまり、DLL関数(私の認識であると、.dllファイルの中にある関数)であり、この関数はAPI関数と同定義と認識しています。 まだまだ初心者で、この認識があっているか確信がもてません。 どうか教えていただけないでしょうか?? お願いいたします。

  • オゾンに違い?

    ちょっと疑問に思うんですが, オゾン層のオゾンと,光化学スモッグのオゾンに違いなんてあるのでしょうか。 名前だけ見ると同じなんだから,そんなたいそうな違いはなさそうな気もしますが,でも,一方では疎まれたりありがたがられたりしていますし…(この認識自体違うのでしょうか?) 化学が得意でない私でもわかるように解説してもらえるとありがたいです。

  • Windowsのソースコードって非公開?誰でも作れるの?

    Windowsのソースコードは非公開なのでしょうか?そのソースコードはどのように管理しているのでしょうか?またWindowsはプログラマーなら誰でも作れるものなのでしょうか?それともごく一部の天才しか作れないのでしょうか?

  • VisualStudio2008でフォルダ違いで同じソースコードファイ

    VisualStudio2008でフォルダ違いで同じソースコードファイル名 下記のようにフォルダ違いで同じファイル名のソースコードがるある場合は、 VisualStudio2008では認識してくれないのでしょうか? +type0+Type.h |    +Type.cpp +type1+Type.h      +Type.cpp それぞれのソースコードはクラス名も一緒なのですが、namespaceでわかられています。 namespace NType0 {   class CType   { } namespace NType1 {   class CType   { } 後から追加したType.cppでは意図的にCTypehogehoee::関数名として コンパイルエラーが起きるように記述しましたがVisualStudioはエラーを 吐きません。 ファイル名をユニークにしたところ正常にビルドできました。 上記について問題を解決する方法はあるのでしょうか?

  • 二つの違い

    いつも参考にさせて頂いています。 初歩的な質問ですが宜しくお願いします。 例えばStringBufferクラスを使用するとします。 1. StringBuffer buf = new StingBuffer(); 2. StringBUffer buf = null; buf = new StringBUffer(); 上記コード2つの違いって何かありますでしょうか? もしあるとすればどういうときに使い分けるのでしょうか? 先日他の方のソースを見ていたら発見したので気になって質問してみました。どうか宜しくお願いします。

    • ベストアンサー
    • Java
  • 『ディーリング業務』と『株式トレーダー』の違いは?

    みなさん、こんにちは。 タイトルの件に関して質問があります。 実際違いというのは何でしょうか? わたしは、双方とも株を扱うということで認識をしているのですが。 どうか、よろしくお願いいたします。

  • OpenGLとDirectXの違いについて

    タイトル通り、この二つの違いについて教えてください。 今の自分の認識としてはOpenGLは研究用でOSに依存しないといって程度の知識です。 だったらOpenGLだけでもいいような気がするんですがなでDirectXなんて規格があるんでしょうか・・・? 双方の利点や使用目的なんかを教えてくださると非常に勉強になるしありがたいです。 ベテランのみなさま、よろしくお願いします。

  • ライブラリとAPI

    はじめまして。 すごく初歩的な質問ですが 誰かライブラリとAPIの違いを教えてください。 どちらもプログラムでよく使うものをまとめたものみたいですが両者の違いが分かりません。 またDLLはライブラリの一部なんでしょうか?

  • ライブラリとAPIについて

    はじめまして。 すごく初歩的な質問ですが 誰かライブラリとAPIの違いを教えてください。 どちらもプログラムでよく使うものをまとめたものみたいですが両者の違いが分かりません。 またDLLはライブラリの一部なんでしょうか?

専門家に質問してみよう