C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[59675] Re:Re:Re:Zlib설치와 사용에관해서
장성호 [nasilso] 1799 읽음    2010-01-08 11:07
라이브러리엔 두가지가 있죠
  static-library인  xxx.lib와
  dynamic-link-library인 DLL

static-library는  컴파일할때  PE파일에 같이 포함되어 링크됩니다만

DLL은 말그대로 동적으로 컴파일할때가 아니라 프로그램실행할때 링크되는 라이브러리 입니다.

DLL을 사용할때 가장 기본적인 방법은?
  1) LoadLibrary           - dll 로드하구
  2) GetProcAddress   - 함수를 주소를 찾구
  3) call  func               - 찾은 함수를 사용하구
  4) FreeLibrary           - Load한 dll을 해제 하죠

그런데 dll (또는 bpl)을 사용할때 마다 위 과정을 하는것이 너무 귀찮고 불편합니다.
그 불편함을 해소하기 위해 Import-Library라는게 있는것입니다.

impot-library란?
  impot-library란?
     DLL을 Static-Lib처럼 쓰도록 만들어주는 라이브러리입니다.

ImpLib 유틸은?
    이름 그대로 DLL에서 Export된 함수의 정보를 빼내어  Import- Library를 만들어 주는 유틸입니다.
    
     import-lib는 static-lib와 달리 함수코드 바이너리가 포함되어있지 않습니다.
     함수에 대한 정보만 있죠
    
    import-lib를 프로젝트에 포함시키거나 해서 링크해주면

    process가 시작될때 loader가  알아서 dll을 load해서 함수의 링크해줍니다.
    load 및 해제 신경쓰지 않아도 되는것이죠
    문론 dll을 같이 배포해야 하구요

  
implib , COFF2OMF 등의 유틸은  라이브러리(static-lib , dll ) 등을   링크시키는데 도와주는 유틸입니다.
(COFF2OMF는 잘 안써봐서 .. 비슷한 목적의 툴인것으로 알고있음)

그럼..


도상곤 님이 쓰신 글 :
: 이렇게 해석이다되어있는데도 이해불가능이네요;;
:
: 이걸 설치하는방법을 글로좀써주실분없으신가;;
:
: coff2omf툴이뭐구;; implib tool은 또 뭐구;;
:
: 방콕폐인 님이 쓰신 글 :
: : 방콕폐인입니다.
: : 영어는 쥐뿔도 모르는 녀석의 발번역본입니다.
: :
: : Borland C++에서 ZLIB1.DLL 사용
: : ==================================
: : 1. 제공된 헤더파일들 'zlib.h' 와 'zconf.h'를 개발툴의 INCLUDE 경로 리스트에 있는 폴더로 설치하세요 .
: :
: : 2. IMPLIB tool을 사용해서 라이브러리 파일을 만드세요  :
: :        implib -a -c -f lib\zdllbor.lib zlib1.dll
: :
: : 또는
: :
: : 2'. 제공된 라이브러리 파일 'zdll.lib'을 coff2omf 툴을 사용해서 OMF 포멧으로 변환하세요.
: :       coff2omf lib\zdll.lib lib\zdllbor.lib
: :
: : // 2. 또는 2'. 둘중 한가지 방법으로 BCC에 맞는 라이브러리 파일을 만듭니다.
: :
: : 3. 'zdllbor.lib'을 개발툴의 LIB 경로 리스트에 있는 폴더로 설치하세요.
: : 4. 'zdllbor.lib'를 프로젝트에 추가하세요.
: :
: : Notes:
: :   - 모듈들은 4-byte 얼라인먼트 옵션(-a)을 사용해서 컴파일 되어야 하고 'zlibbor.lib'와 링크되었습니다.
: :         bcc32 -a -c myprog.c
: :         bcc32 myprog.obj zdllbor.lib
: :   - 원한다면, 생성하는 라이브러리 파일 이름을 'zdllbor.lib' 대신 'zlib1.lib'를 사용해도 됩니다.
: :
: : 도상곤 님이 쓰신 글 :
: : : 설치하는방법이나 이런게 다 영어로되어있어서
: : :
: : : 해석이불가능하네요 ㅠㅠ
: : :
: : : Using ZLIB1.DLL with Borland C++
: : : ================================
: : :    1. Install the supplied header files "zlib.h" and "zconf.h"
: : :       into a directory found in the INCLUDE path list.
: : :
: : :    2. Build the import library using the IMPLIB tool:
: : :         implib -a -c -f lib\zdllbor.lib zlib1.dll
: : :
: : :       OR
: : :
: : :    2' Convert the supplied library file "zdll.lib" to OMF format,
: : :       using the COFF2OMF tool:
: : :         coff2omf lib\zdll.lib lib\zdllbor.lib
: : :
: : :    3. Install "zdllbor.lib" into a directory found in the LIB path
: : :       list.
: : :
: : :    4. Add "zdllbor.lib" to your project.
: : :
: : :   Notes:
: : :   - The modules that are linked with "zdllbor.lib" must be compiled
: : :     using a 4-byte alignment (option -a):
: : :         bcc32 -a -c myprog.c
: : :         bcc32 myprog.obj zdllbor.lib
: : :   - If you wish, you may use "zlib1.lib" instead of "zdllbor.lib".
: : :
: : : 라고는 나와있긴한데 해석불가능;;
: : :
: : : 설치하는방법하고 사용할때 간단한예제소스좀 부탁드립니다.

+ -

관련 글 리스트
59664 Zlib설치와 사용에관해서 도상곤 1413 2010/01/07
59668     Re:Zlib설치와 사용에관해서 방콕폐인 1951 2010/01/07
59669         Re:Re:Zlib설치와 사용에관해서 도상곤 1403 2010/01/07
59675             Re:Re:Re:Zlib설치와 사용에관해서 장성호 1799 2010/01/08
59674                 Re:Re:Re:Re:Zlib설치와 사용에관해서 장성호 2242 2010/01/08
59673                 Re:Re:Re:Re:Zlib설치와 사용에관해서 도상곤 1381 2010/01/08
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.