• ベストアンサー

DLLファイルとAPI

この二つは同じものなのでしょうか?自分としてはAPIのWINDOWSバージョンがDLLなのかと思っているのですが…

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

  • ベストアンサー
  • Yeti21
  • ベストアンサー率47% (396/830)
回答No.4

>つまりDLLはAPIが提供するサブルーチンや関数を利用して作るプログラムの一部分とかんがえてよいのでしょうか? 色々なサブルーチンを記述してDLLを作成します。 汎用的に使える部品集のようなものです。

mamoko7
質問者

お礼

なるほど、ありがとうございます。

その他の回答 (3)

  • ceita
  • ベストアンサー率24% (304/1218)
回答No.3

DLLはライブラリの種類です。 ライブラリは他のプログラムから呼び出される関数やクラスをまとめたもので、 DLLはプログラム起動後に動的(ダイナミック)に呼び出すことができます。 通常のライブラリはプログラムコンパイル時にリンクしておきます。 このようなライブラリを呼び出す際には、 何らかの約束がないと呼び出す側は困ってしまいます。 そのために定めたインターフェスをAPIなどと呼びます。

mamoko7
質問者

お礼

DLLはライブラリの一種なのですか。ライブラリについて調べてみます。

  • Yeti21
  • ベストアンサー率47% (396/830)
回答No.2

同義では有りません。 APIはアプリケーションで使用する様々な機能のインターフェース(サブルーチンや関数)で dllはそれを含んだファイル形式の一つという感じです。

mamoko7
質問者

お礼

つまりDLLはAPIが提供するサブルーチンや関数を利用して作るプログラムの一部分とかんがえてよいのでしょうか?

  • t_nojiri
  • ベストアンサー率28% (595/2071)
回答No.1

アプリケーションプログラムインターフェース ダイナミックリンクライブラリ APIをDLLで提供しようが、libで提供しようが構いませんが、DLLなら結構バージョンチェックしたりしないとアプリと別物だから合わないと動かなくなったりします。

mamoko7
質問者

お礼

ありがとうございます。要するにAPIは頻繁に使う関数や命令の集合のことでDLLは関数や命令より大きいプログラムの部品のようなものと考えてよろしいでしょうか?

関連するQ&A

  • API関数とDLL関数

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

  • API関数(DLL)の呼び出しにおいて、DLLの格納場所は?

    お世話になります。 VB.NETでAPI関数を呼び出す場合にまず、API関数を格納しているDLLを宣言しなけれならないと下記URLにあります。 (http://www.atmarkit.co.jp/fdotnet/dotnettips/024w32api/w32api.html) (a)DllImport属性を利用する方法 <System.Runtime.InteropServices.DllImport("DLL名")> _ Function API関数名(仮引数) End Function (b)Declareステートメントを利用する方法 Declare Function API関数名 Lib "DLL名" (仮引数) そこで、質問なのですが、(a)、(b)どちらの方法で実現する場合においても、DLLの格納場所はC:\Windows\System32でないといけないのでしょうか?(実際にコーディングしてもSystem32フォルダにないとエラーになってしまいます。) 任意のフォルダにDLLを格納し、そこを参照できるようにできるのでしょうか? また、一般常識としてDLLはSystem32フォルダに格納しておかないといけないものなのでしょうか? 以上、よろしくお願いいたします。

  • it_api.dllがありません・・・

    WINDOWS2000のSP3を利用しています。 Realoneプレーヤーをインストールしたら、MP3を再生する際に必ず、「it_api.dll」が所定の場所にありません。というエラーが出ます。かといって再生ができないわけではないのですが。 このエラーを解消する方法をお教えください。m(__)m

  • DLLファイルについて

    こんにちは!非常に困っています。 パソコンを起動するとプログラム開始エラーで 「必要なDLLファイル C:\WINDOWS¥SYSTEM¥LZ32.DLL   が見つかりませんでした」 とでてきます。  どうしたらいいでしょうか?  詳しい人、ぜひ教えてください!

  • xvid.dll implements a newer api version, update your directshow filter

    xvid.dll implements a newer api version, update your directshow filter というメッセージがでます。これに対処するにはどうしたらいいでしょうか?

  • dllファイルについて

    お願いします。 Shell32.dllファイルの最新バージョンの入手は 可能でしょうか? ダウンロードサイトなどありましたら教えて頂きたいです。 お願いします。

  • DLLファイルはどこに置けば(コピー)いいのでしょうか

    DLLファイルはどこにコピーすればいいのでしょうか Windows/system32 でしょうか 実は、PHP5で データベース、SQLiteを使おうと思っています。 php_sqlite.dll をダウンロードしたのですが どこにコピーすればいいのか、わからないでいます はじめ Windows/system32 にコピーするもの、と思っていましたが Windows/system にも、DLLファイルがあったので、system32、に固定して ない、とわかりました。 ちなみに [php.ini]ファイルは ;extention の2ケ所;をとりました。 よろしくおねがいします。

    • ベストアンサー
    • PHP
  • グーグルAPIとは?

    vbaで http://www.excellenceweb.net/vba/api/what_windows_api.html このようなAPIは良く使っているのですが ネットでapiについて検索すると 「グーグルAPI」と言う言葉をよく見かけるのですが これは私が使っているvbaのAPIとは違う意味なのでしょうか? 二つの違いがよくわかりません。 というかグーグルAPIが何なのかよくわかりません。

  • ntdll.dllというファイルについて

    ある音楽ソフト(FL Studio)を立ち上げるときに、次のようなエラーが出ました。そのエラーを直したいので相談させてください。 エラー内容 FL.exe-エントリポイントが見つかりません。 プロシージャエントリポイントNtAlpcSendWaitReceivePortがダイナミックリンクライブラリntdll.dllから見つかりませんでした。 私のPCの情報です。 DELL XPS M1210 OSは、WINDOWS XP Home Edition Version 2002 Service Pack 3 使用している音楽ソフトは、FL Studio 10(image line社) それが原因か分かりませんが、Samsung Kiesというスマートフォンのソフトをインストールしています。 インターネットで色々調べたところ、Samsung Kiesをインストールしたときに、ntdll.dllが古いファイル等に上書きされたような書き込み情報を見つけました。ntdll.dllを修正したいのですが、やり方がわかりません。 ちなみに、ntdll.dllを検索したところPC内に4つありました。(根拠はないですが、時期的に(3)のファイルが怪しい気がしています。) (1)ntdll.dll C:\i386 (615kB 2004.8.5) (2)NTDLL.dll C:\i386\system32 (615kB 2004.8.5) (3)ntdll.dll C:\windows\system32 (625kB 2010.12.10) (4)ntdll.dll C:\windows\servicePack Files\i386 (613kB 2008.4.14) このような、状況で困っています。 申し訳ありませんが、ご指導よろしくお願いします。

  • dllファイルを削除してしまった

    誤って、dllファイルを削除してしまいました。 c\windows\system32\refa744f.dllが一つ。もう一つはc\windows\system32\ie758e49\ie758e49.dllです。 起動するたび存在しないというエラーメッセージが出ます。でも実際使用するうえでは今のところ支障ありません。 本当に支障ないのでしょうか?支障あるのなら、dllファイルを復活させたいのですが、方法はありますか?