dll 과 lib
2013. 10. 24. 09:07ㆍC++
http://blog.daum.net/aswip/6365601
라이브러리는 함수, 구조체, 클래스 등을 포함하고 있는 컴파일된 파일이며, 그 종류는 다음과 같이 3가지가 존재한다. * 정적 라이브러리 (*.a, *.lib) * 공유 라이브러리 (*.so, *.dll) * 동적 라이브러리 (*.so, *.dll) 정적 라이브러리는 컴파일시에 해당 정적 라이브러리의 내용이 실행 바이너리안에 포함되어지는 특징을 갖고 있다. 즉, 실행 파일 배포시에 정적라이브러리를 함깨 배포하지 않아도 된다. 반면, 동적 라이브러리는 컴파일시에 해당 동적 라이브러리의 내용이 실행 파일안에 포함되지 않기 때문에, 반드시 실행 파일 배포시에는 동적 라이브러리 역시 함깨 배포해야 한다.
Step1. Win32 프로젝트 생성
Step2. [정적 라이브러리] 응용 프로그램 종류 선택
Step3. 새 항목 추가 (MyLib.c, MyLib.h)
Step4. 소스 파일 작성 (MyLib.c, MyLib.h)
---------------------------- MyLib.h ----------------------------
#ifndef MYLIB_H #define MYLIB_H #ifdef __cplusplus extern "C" { #endif int MyPlus(int x, int y); #ifdef __cplusplus } #endif #endif MYLIB_H
---------------------------- MyLib.c ----------------------------
#include "MyLib.h" int MyPlus(int x, int y) { return (x + y); }
여기 까지 진행 후에 빌드 하게 되면, Debug 폴더 밑에 "ExMyLib.lib"파일이 생성됩니다.
Step5. 정적 라이브러리 사용을 위한 "빈 프로젝트" 생성
Step6. 소스 파일 추가 (main.c)
---------------------------- main.c ----------------------------
#include <stdio.h> #include "MyLib.h" int main(int argc, char **argv) { int nSum = MyPlus(10,20); printf("%d\n", nSum); return 0; }
Step7. 링커 -> 입력 -> 추가 종속성 설정