2010-12-06 4 views
6

API와 DLL의 정확한 차이점을 알고 싶습니다. 감사합니다.API와 DLL의 차이

+0

api는 그대로 'winapi'입니까? –

+0

예 API는 단순히 기능입니까? – imahan

+0

안녕 이마한, 내 업데이트 된 답변을 참조하십시오. – Mudassir

답변

5

응용 프로그래밍 인터페이스 (API)은 다른 소프트웨어와 상호 작용할 수있는 소프트웨어 프로그램에 의해 구현 된 인터페이스입니다. 사용자 인터페이스가 사람과 컴퓨터 사이의 상호 작용을 용이하게하는 것과 유사한 다른 소프트웨어 프로그램 간의 상호 작용을 용이하게합니다. - 위키 백과

동적 링크 라이브러리 (DLL)은 API를 제공하는 한 가지 방법입니다. (프로그래머와의 인터페이스) 웹 서비스와 같은 다양한 방법이있을 수 있습니다.

+0

그럼 내 다음 질문은 : API가 DLL에 포함되어 있습니까? 즉, API는 단순히 호출 할 수있는 함수입니까? – imahan

+1

음, 이것은 예입니다. 이것은 셰어 포인트 API에서입니다. http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.splist.aspx 프로그래머를 지원하는 많은 방법을 볼 수 있습니다 (프로그래머 인터페이스입니다). 그러나 이것은 DLL 파일로 제공됩니다. 나는 모든 API가 어떤 형식으로 사용자에게 제공 (전달)되어야 함을 의미합니다. DLL은 이것을 수행하는 하나의 형식입니다. –

+4

@imahan : 핵심 요소가 누락되었습니다. API는 추상 용어입니다. DLL은 구체적이고 기술적 인 파일 형식입니다. –

2

업데이트 : DLL (Dynamic Link Library)은 코드 구성 요소입니다 (일부는 Java Beans와 유사 함). DLL은 메서드 나 함수, 루틴 또는 코드 조각이라고하는 모든 것을 포함합니다. 그리고 API는 응용 프로그램과 해당 DLL 간의 인터페이스입니다. 대부분의 경우 DLL은 다른 응용 프로그램에 서비스를 제공하는 데 사용되며 이러한 DLL은 서버 DLL이라고하며 DLL이 API 호출 또는 동적 호출을 사용하여 일부 서비스를 요청하는 경우 클라이언트 DLL이라고합니다. 간단하게 생각해 보면, API는 그 DLL의 외부에서 접근 할 수있는 메소드 나 함수 일뿐입니다. 지금 아이디어가 있으시길 바랍니다.

+0

물론 내가 말할 수있는 것을 이해하지 못했기 때문에 위키피디아를 탐색하고 답변을 찾을 수 있습니다. 내 qusetion에 친절하게 대답하십시오. ""DLL에 API가 포함되어 있습니까? 즉, API는 단순히 호출 할 수있는 기능입니까? ""감사합니다. – imahan

+0

@imahan, API는 인터페이스이며, 구현되지 않은 한 사용할 수 없습니다. 그래서 DLL에는'implemented' API가 포함되어 있습니다. 내 업데이트 답변을 참조하십시오. –

+0

당신은 그들을 찾아야합니다! – Sakthivel

1

DLL = 동적 링크 라이브러리

API = 응용 프로그램 프로그래밍 인터페이스

DLL을 다른 실행 파일에서 사용할 수있는 몇 가지 코드가 Windows 시스템에서 단지 파일입니다. API는 하나의 소프트웨어 또는 소프트웨어 라이브러리를 다른 라이브러리와 함께 사용하는 방법입니다. 예를 들어 레지스트리를 사용할 수있는 Windows 레지스트리 API가 있지만 API를 사용할 때 실행되는 코드는 DLL에 저장됩니다.

14

네이티브 Windows 프로그래밍을 사용하는 경우 사용하거나 작성하는 API는 일반적으로 DLL 파일로 나타납니다. 그러나 이것이 API가 취할 수있는 유일한 구체적인 형태도 아니며, 모든 DLL이 API를 나타내는 것도 아닙니다.

API는 "응용 프로그램 프로그래밍 인터페이스"를 의미합니다. API는 프로그래밍 기능에 액세스하기 위해 전체 프로그래머가 사용하도록 의도 된 코드 엔터티 (함수, 클래스 등 - 프로그래밍 언어에 따라 다름) 모음의 추상 용어입니다. 응용 프로그램 또는 라이브러리

DLL은 Windows에서 응용 프로그램을 모듈화하는 방법으로 실행 코드가 포함 된 파일 형식입니다.

+0

좋은 답변입니다! 정말 고마워요 :) – imahan

+0

그래서 의심의 여지가 하나 더, API는 DLL에 포함되어 있습니다, 그게 맞습니까 ?? API는 사용자 프로세스가 호출 할 수있는 기능 일 뿐이며, 이는 어떨까요? – imahan

+2

@imahan : 다시 : API는 추상 용어입니다. C에서 Windows 프로그래밍을하고 그렇다면 API는 일반적으로 DLL 파일의 함수가됩니다. Java 프로그래밍을 수행하는 경우 API는 JAR 파일에 포함 된 클래스입니다. 대부분의 플랫폼에는 자체 메커니즘이 있습니다. –

0

당신은 구체적이어야합니다. DLL은 견딜 수에 대한 :

  1. 데이터 링크 계층,
  2. 동적 링크 라이브러리 (윈도우 플랫폼에서 공유 라이브러리). 또한 리소스 라이브러리가 될 수도 있습니다.

API (Application Programming Interface)는 소프트웨어 프로그램에서 다른 sotware와 상호 작용하도록 구현 된 인터페이스입니다. 예 : java에서 데이터베이스 연결이 필요한 경우 JDBC API가 필요합니다.위키

:

하는 API입니다 그들의 어휘와 호출 규칙을 결정 에 응용 프로그램, 라이브러리 및 운영 체제에 의해 구현되며, 액세스 그들의 서비스에 사용됩니다.

동적 라이브러리의 목적은 거의 언제나 동일한 라이브러리를 여러 프로그램에서 동시에 사용할 수있게 해주는 공유 형식을 제공합니다. 본질적으로 WINAPI (Windows API)은 모두 MMSYSTEM Sound API 용 mmsystem.dll과 같은 DLL 파일로 구현됩니다.

참고 :

+0

그래서 API는 호출 할 수있는 함수이며 API도 DLL 내에 있습니다. – imahan

+0

@imahan, yes ... API는 "스켈 레탈 (skeletal)"(더 나은 단어가 없음) 함수이며 DLL 내부에서 구현이 발견됩니다. Windows에서'MMYSTEM' Sound API를 사용하려면'mmsystem.dll' 라이브러리 안에있는 구현 된 API를 사용해야합니다. 그렇지 않으면 skeleton 메소드를 호출 할 것입니다. –

5

DLL을 코드의 라이브러리이며, API의 코드 라이브러리에 인터페이스입니다.