DLL
선문 비트 25기
김태우
1.라이브러리(Library)란?
함수, 데이터, 타입 등 여러 가지 프로그래밍 요소들의 집합이다. 보통 LIB확장자를 가진다.

ProA.exe를 만드는 사람은 자신의 고유 코드만 ProA.cpp에 작성하고 HAN.LIB를 사용하여 실행 파일을 만들 수 있다.
마찬가지로 ProB.exe나 ProC.exe를 만드는 사람도 HAN.LIB를 사용하여 같은 코드를 여러 번 작성하지 않아도 되므로 시간적,
능률적 효과 가짐.
DLL 동적 링크(Dynamic Link Library) : 동적 링크란 컴파일 시 에 함수의 코드가 실행 파일에 복사되는 것이 아니라 실행 중에 라이브러리에 있는 함수를 호출하는 방법

정적 링크 : 컴파일 시에 Linking
동적 링크 : 실행시에 Linking
__declspec : (밑줄 2개) __delspec는 함수에 대한 노출 정보를 제공하는 선언문이며 노출 정보로 엑스포트(수출) 또는 임포트(수입)을 지정할 수 있다. DLL에서 외부로 노출할 함수에는 엑스포트를 명시하고 DLL을 사용하는 곳에서는 임포트를 명시하여야 한다.
dllimport : DLL에 있는 데이터, 오브젝트, 함수를 임포트한다. DLL에 이렇게 생긴 함수를 앞으로 사용 하겠다는 선언.
dllexport : DLL에 있는 데이터, 오브젝트, 함수를 엑스포트한다. DLL의 정보를 명시적으로 제공하는 역할.
extern “C” : extern “C” 지정자는 함수 부호화를 안함으로서 C형식으로 함수의 정보를 공개하도록 함.


