Q&A
HOME
Tips & Tech
Q&A
Discuss
Download
자유게시판
홍보 / 광고
구인 / 구직
LOGIN
회원가입
.lib 화일 만드는 법좀 가르쳐주세요....
안녕하세요.
델파이 초보자입니다.
다름아니고, .lib화일을 만들고 싶은데 만드는 방법을 모르겠습니다.
고수님들의 한 수 지도 부탁드립니다.
그리고, 질문이 한가지 있는데요...
.dll과 .lib의 차이점을 알고 싶습니다.
그럼 부탁드리겠습니다
3
COMMENTS
김정
•
2000.10.18 08:07
안녕하세요?
고드름 김정입니다.
컴파일 프로그래밍에서 실행 파일을 만들기 위해서는 두 단계를 거칩니다.
Compile 과 Link 입니다.
1.컴파일은 소스 코드는 2진형태의 목적코드(object 혹은 library)로 만들며,
2.링크는 목적 코드들을 합쳐서 실행파일을 만듭니다.
이때, 소스에서 부르려는 함수이름과 실제 함수가 구현된 곳을 연결시켜줍니다.
이런 과정을 Binding 과정이라고 부릅니다.
컴파일러가 발달하면서, Link(Bind)과정이 동적으로 가능하게 되었습니다.
이전에는 Library 형태로 함수가 실행파일과 함께 더해졌었습니다.
따라서 용량도 커지고, 그만큼 메모리도 많이 차지하고,
프로그램들 간에도 같은 기능이 겹쳐서 사용되고는 했습니다.
동적 링크란 것은 실행 파일 밖에 구현된 함수가 제공되어,
실행파일이 실제로 실행될때 필요할때만 불리는 것을 말합니다.
DLL( Dynamic Link Library )는 바로 이런 역할을 합니다.
여러 실행 파일들이 함께 사용할 수 있는 함수들이 들어 있습니다.
윈도우즈 자체도 수많은 DLL을 제공하고 있습니다.
실제 API들도 DLL에 들어있기 때문에 델파이도 자유롭게 불러쓰고 있는 겁니다.
VC의 경우, VClib 디렉토리 아래에 제공되는 DLL의 lib 파일을 함께 배포합니다.
링크가 lib안에 있는 함수정보를 봐야만 실행파일을 만들 수 있기 때문입니다.
또한 VC에서 DLL을 제작하면 자동으로 lib 파일이 생성됩니다.
하지만 Delphi의 경우는 특별하게도 DLL을 만들어도 lib 파일이 생성되지 않습니다.
물론 DLL 을 사용하려고 해도 lib 파일이 필요없습니다.
단지 Unit interfaces 내부에 선언해주고, implementation 내부에 DLL 함수명만쓰면,
실행파일이 DLL을 자동(?)으로 연결시킵니다.
하지만 DLL 파일만 가지고도 해당 lib를 만들 수도 있습니다.
C-builder의 경우, VC와 lib파일의 구조가 다르기 때문에
DLL에서 새롭게 CB용 lib파일을 생성해야 링크가 가능합니다.
VC에도 그런 툴이 있는 걸로 압니다만, (사용한적은 없습니다...)
만약 델파이에서 작성한 DLL을 사용하려면 동적 링크 방법을 사용하면 됩니다.
VC에서 DLL 동적 연결 방법은 VC 책을 참고하세요.
델파이 서적에서도 같은 API로 구현된 예를 찾으실 수 있을 겁니다.
그럼.
홍진혁 wrote:
> 안녕하세요.
> 델파이 초보자입니다.
>
> 다름아니고, .lib화일을 만들고 싶은데 만드는 방법을 모르겠습니다.
> 고수님들의 한 수 지도 부탁드립니다.
>
> 그리고, 질문이 한가지 있는데요...
> .dll과 .lib의 차이점을 알고 싶습니다.
>
> 그럼 부탁드리겠습니다
0
0
삭제
수정
댓글
홍진혁
•
2000.10.18 10:18
김정님, 고맙습니다.
제가 가지고 있는 고민은 다음과 같습니다.
이전에 Fortran으로 짠 대형 코드와 더불어 Shared Memory를 가지고 변수의 현재 값들을 Delphi로 구현된 툴로 그래프 (2차원, 3차원)으로 표현하고자 하는데요...
Delphi에서는 DLL로 그래프 툴은 만들었지만 Fortran에서는 DLL을 바로 Export하여 사용하지를 못하더군요.
그러나 lib화일은 include하여 사용이 가능하다고 합니다.
따라서 Delphi로 만든 DLL을 .lib로 만드는 방법을 좀 알고 싶은데 Text를 찻아봐도 그런 것은 나오지 않더군요....
좀 급한 프로젝트라 그런데 좀 자세히 가르쳐 줄수 있나요?
부탁드립니다.
김정 wrote:
> 안녕하세요?
> 고드름 김정입니다.
>
> 컴파일 프로그래밍에서 실행 파일을 만들기 위해서는 두 단계를 거칩니다.
> Compile 과 Link 입니다.
> 1.컴파일은 소스 코드는 2진형태의 목적코드(object 혹은 library)로 만들며,
> 2.링크는 목적 코드들을 합쳐서 실행파일을 만듭니다.
> 이때, 소스에서 부르려는 함수이름과 실제 함수가 구현된 곳을 연결시켜줍니다.
> 이런 과정을 Binding 과정이라고 부릅니다.
>
> 컴파일러가 발달하면서, Link(Bind)과정이 동적으로 가능하게 되었습니다.
> 이전에는 Library 형태로 함수가 실행파일과 함께 더해졌었습니다.
> 따라서 용량도 커지고, 그만큼 메모리도 많이 차지하고,
> 프로그램들 간에도 같은 기능이 겹쳐서 사용되고는 했습니다.
>
> 동적 링크란 것은 실행 파일 밖에 구현된 함수가 제공되어,
> 실행파일이 실제로 실행될때 필요할때만 불리는 것을 말합니다.
>
> DLL( Dynamic Link Library )는 바로 이런 역할을 합니다.
> 여러 실행 파일들이 함께 사용할 수 있는 함수들이 들어 있습니다.
>
> 윈도우즈 자체도 수많은 DLL을 제공하고 있습니다.
> 실제 API들도 DLL에 들어있기 때문에 델파이도 자유롭게 불러쓰고 있는 겁니다.
>
> VC의 경우, VClib 디렉토리 아래에 제공되는 DLL의 lib 파일을 함께 배포합니다.
> 링크가 lib안에 있는 함수정보를 봐야만 실행파일을 만들 수 있기 때문입니다.
> 또한 VC에서 DLL을 제작하면 자동으로 lib 파일이 생성됩니다.
>
> 하지만 Delphi의 경우는 특별하게도 DLL을 만들어도 lib 파일이 생성되지 않습니다.
> 물론 DLL 을 사용하려고 해도 lib 파일이 필요없습니다.
> 단지 Unit interfaces 내부에 선언해주고, implementation 내부에 DLL 함수명만쓰면,
> 실행파일이 DLL을 자동(?)으로 연결시킵니다.
>
> 하지만 DLL 파일만 가지고도 해당 lib를 만들 수도 있습니다.
> C-builder의 경우, VC와 lib파일의 구조가 다르기 때문에
> DLL에서 새롭게 CB용 lib파일을 생성해야 링크가 가능합니다.
>
> VC에도 그런 툴이 있는 걸로 압니다만, (사용한적은 없습니다...)
> 만약 델파이에서 작성한 DLL을 사용하려면 동적 링크 방법을 사용하면 됩니다.
>
> VC에서 DLL 동적 연결 방법은 VC 책을 참고하세요.
> 델파이 서적에서도 같은 API로 구현된 예를 찾으실 수 있을 겁니다.
>
> 그럼.
>
> 홍진혁 wrote:
> > 안녕하세요.
> > 델파이 초보자입니다.
> >
> > 다름아니고, .lib화일을 만들고 싶은데 만드는 방법을 모르겠습니다.
> > 고수님들의 한 수 지도 부탁드립니다.
> >
> > 그리고, 질문이 한가지 있는데요...
> > .dll과 .lib의 차이점을 알고 싶습니다.
> >
> > 그럼 부탁드리겠습니다
0
0
삭제
수정
댓글
김정
•
2000.10.18 19:21
안녕하세요?
고드름 김정입니다.
DLL을 동적링크 방식으로 사용하시면 될 것 같습니다.
VC에서 사용하는 방식을 알려드리겠습니다.
( VC도 Library가 필요하지만, 다음 방법은 없이 할 수 있는 방법입니다.
포트란이 어떤 버전인지 모르겠지만, WIN32 API는 사용하실 수 있겠죠?? )
1.함수포인터형을 선언합니다.
typedef void (FAR PASCAL *PMailStart)(void);
2.함수포인터형 변수를 만듭니다.
PMailStart MailStart;
3.DLL를 불러옵니다.
theDLL = LoadLibrary("project1.dll");
4.함수를 찾아서 Bind해줍니다.
MailStart = (PMailStart)GetProcAddress((HMODULE)theDLL, "MailStart");
5. MailStart() 함수를 사용하시면 됩니다.
참고하세요.
그럼.
홍진혁 wrote:
> 김정님, 고맙습니다.
>
> 제가 가지고 있는 고민은 다음과 같습니다.
> 이전에 Fortran으로 짠 대형 코드와 더불어 Shared Memory를 가지고 변수의 현재 값들을 Delphi로 구현된 툴로 그래프 (2차원, 3차원)으로 표현하고자 하는데요...
> Delphi에서는 DLL로 그래프 툴은 만들었지만 Fortran에서는 DLL을 바로 Export하여 사용하지를 못하더군요.
> 그러나 lib화일은 include하여 사용이 가능하다고 합니다.
> 따라서 Delphi로 만든 DLL을 .lib로 만드는 방법을 좀 알고 싶은데 Text를 찻아봐도 그런 것은 나오지 않더군요....
>
> 좀 급한 프로젝트라 그런데 좀 자세히 가르쳐 줄수 있나요?
>
> 부탁드립니다.
>
>
> 김정 wrote:
> > 안녕하세요?
> > 고드름 김정입니다.
> >
> > 컴파일 프로그래밍에서 실행 파일을 만들기 위해서는 두 단계를 거칩니다.
> > Compile 과 Link 입니다.
> > 1.컴파일은 소스 코드는 2진형태의 목적코드(object 혹은 library)로 만들며,
> > 2.링크는 목적 코드들을 합쳐서 실행파일을 만듭니다.
> > 이때, 소스에서 부르려는 함수이름과 실제 함수가 구현된 곳을 연결시켜줍니다.
> > 이런 과정을 Binding 과정이라고 부릅니다.
> >
> > 컴파일러가 발달하면서, Link(Bind)과정이 동적으로 가능하게 되었습니다.
> > 이전에는 Library 형태로 함수가 실행파일과 함께 더해졌었습니다.
> > 따라서 용량도 커지고, 그만큼 메모리도 많이 차지하고,
> > 프로그램들 간에도 같은 기능이 겹쳐서 사용되고는 했습니다.
> >
> > 동적 링크란 것은 실행 파일 밖에 구현된 함수가 제공되어,
> > 실행파일이 실제로 실행될때 필요할때만 불리는 것을 말합니다.
> >
> > DLL( Dynamic Link Library )는 바로 이런 역할을 합니다.
> > 여러 실행 파일들이 함께 사용할 수 있는 함수들이 들어 있습니다.
> >
> > 윈도우즈 자체도 수많은 DLL을 제공하고 있습니다.
> > 실제 API들도 DLL에 들어있기 때문에 델파이도 자유롭게 불러쓰고 있는 겁니다.
> >
> > VC의 경우, VClib 디렉토리 아래에 제공되는 DLL의 lib 파일을 함께 배포합니다.
> > 링크가 lib안에 있는 함수정보를 봐야만 실행파일을 만들 수 있기 때문입니다.
> > 또한 VC에서 DLL을 제작하면 자동으로 lib 파일이 생성됩니다.
> >
> > 하지만 Delphi의 경우는 특별하게도 DLL을 만들어도 lib 파일이 생성되지 않습니다.
> > 물론 DLL 을 사용하려고 해도 lib 파일이 필요없습니다.
> > 단지 Unit interfaces 내부에 선언해주고, implementation 내부에 DLL 함수명만쓰면,
> > 실행파일이 DLL을 자동(?)으로 연결시킵니다.
> >
> > 하지만 DLL 파일만 가지고도 해당 lib를 만들 수도 있습니다.
> > C-builder의 경우, VC와 lib파일의 구조가 다르기 때문에
> > DLL에서 새롭게 CB용 lib파일을 생성해야 링크가 가능합니다.
> >
> > VC에도 그런 툴이 있는 걸로 압니다만, (사용한적은 없습니다...)
> > 만약 델파이에서 작성한 DLL을 사용하려면 동적 링크 방법을 사용하면 됩니다.
> >
> > VC에서 DLL 동적 연결 방법은 VC 책을 참고하세요.
> > 델파이 서적에서도 같은 API로 구현된 예를 찾으실 수 있을 겁니다.
> >
> > 그럼.
> >
> > 홍진혁 wrote:
> > > 안녕하세요.
> > > 델파이 초보자입니다.
> > >
> > > 다름아니고, .lib화일을 만들고 싶은데 만드는 방법을 모르겠습니다.
> > > 고수님들의 한 수 지도 부탁드립니다.
> > >
> > > 그리고, 질문이 한가지 있는데요...
> > > .dll과 .lib의 차이점을 알고 싶습니다.
> > >
> > > 그럼 부탁드리겠습니다
0
0
삭제
수정
댓글
(NOTICE) You must be
logged in
to comment on this post.
진성열
2000.10.18 04:08
0
COMMENTS
/
0
LIKES
[두번째 질문] 저번에 오렸는데요....
babobohi
2000.10.18 05:47
0
COMMENTS
/
0
LIKES
ipWorksSSL 사용방법좀...
델파이궁금이
•
2000.10.18 03:03
2
COMMENTS
/
0
LIKES
dataset not in edit or insert mode 예외좀 해결해주세요.T.T
뿌요
•
2000.12.22 21:13
델파이궁금이 wrote: > Query컴포넌트에서 sql문을 사용하여db를 insert , update 하려고 했는데 > 계속 ...
김영대
•
2000.10.18 10:08
델파이궁금이 wrote: > Query컴포넌트에서 sql문을 사용하여db를 insert , update 하려고 했는데 > 계속 ...
안은아
•
2000.10.18 02:54
1
COMMENTS
/
0
LIKES
델파이로 작성한 db다시보기
태여니
•
2000.10.18 03:35
안은아 wrote: > 안녕하세요. 저는 안은아라고합니다. 저게 타업체에 의뢰하여 델파이로 프로그램 작성한...
조헌철
•
2000.10.18 02:53
1
COMMENTS
/
0
LIKES
창민이 형 나요 헌철이 안 바쁘면...
구창민
•
2000.10.19 04:29
조헌철 wrote: > 전에 준 소스로 엑티브x를 만들어서 그러니깐 서버는 엑티브x고 클라이언트가 폼인데 > ...
초보
•
2000.10.18 02:39
1
COMMENTS
/
0
LIKES
[꼭!!중요]Oracle 연결 문제...
남기석
•
2000.10.18 08:11
안녕하세요 청개구리 남기석입니다. 실제 Delphi3.0은 오라클 8.0 이상을 지원하지 않습니다. 하지...
초보맨
•
2000.10.18 02:20
1
COMMENTS
/
0
LIKES
포커스된 컨트롤 종류알아내기..
한하눌
•
2000.10.18 19:58
초보맨 wrote: > 폼핸들을 알고.....그중 포커스 들어간컴퍼넌트가 어떤 컴퍼넌트인지 > 종류를 알수 있...
델파이궁금이
2000.10.18 02:09
0
COMMENTS
/
0
LIKES
파라독스에서 날짜계산좀 알려주세요..
최현정
•
2000.10.18 02:08
4
COMMENTS
/
0
LIKES
oracle db를 이용한 이미지파일저장에 관하여
이경배
•
2000.10.18 02:58
uses절에 JPeg를 추가하시면 에러가 안날겁니다. 별 도움이...쩝...^^
최현정
•
2000.10.18 03:07
uses문에는 추가가 되었구여. jpg file을 저장하려면 이런 에러가 뜨는군여. "bitmap image is not vali...
cell
•
2000.10.18 18:33
전 아래와 같은 방법으로 그림을 넣었는데요. FileName은 open dialog를 통해 파일이름을 받은거고요. ...
최현정
•
2000.10.19 02:58
답변감사합니다.근데여~~ db를 뭘로 만드신거에여? 전 oracle에서 만들고 이미지들어가는 필드type를 long...
김용남
•
2000.10.18 01:56
1
COMMENTS
/
0
LIKES
비트맵 데이타로 비트맵 파일 만드는법..
김정
•
2000.10.18 08:11
안녕하세요? 고드름 김정입니다. 제가 지금 델파이가 없는 상황이라 대강 설명드리겠습니다. (죄송..) ...
델팜
•
2000.10.18 01:36
1
COMMENTS
/
0
LIKES
디버깅 이라는것이 무엇인지..
김정
•
2000.10.18 07:41
안녕하세요? 고드름 김정입니다. 이런 질문 받아본지 오래됐네요.. ^^; 유래는 컴퓨터를 컴퓨터라고...
홍진혁
•
2000.10.18 01:33
3
COMMENTS
/
0
LIKES
.lib 화일 만드는 법좀 가르쳐주세요....
안녕하세요. 델파이 초보자입니다. 다름아니고, .lib화일을 만들고 싶은데 만드는 방법을 모르겠습니다. 고수님들의 한 수 지도 부탁드립니다. 그리고, 질문이 한가지 있는데요... .dll과 .lib의 차이점을 알고 싶습니다. 그럼 부탁드리겠...
김정
•
2000.10.18 08:07
안녕하세요? 고드름 김정입니다. 컴파일 프로그래밍에서 실행 파일을 만들기 위해서는 두 단계를 거칩...
홍진혁
•
2000.10.18 10:18
김정님, 고맙습니다. 제가 가지고 있는 고민은 다음과 같습니다. 이전에 Fortran으로 짠 대형 코드와 ...
김정
•
2000.10.18 19:21
안녕하세요? 고드름 김정입니다. DLL을 동적링크 방식으로 사용하시면 될 것 같습니다. VC에서 사용하...
신승욱
2000.10.18 01:16
0
COMMENTS
/
0
LIKES
아래 매인키에 관한 질문을 했었던 사람입니다..
어린왕자
•
2000.10.18 01:01
7
COMMENTS
/
0
LIKES
FileStream으로 저장된 파일을 읽어서 임의의 문자열이 있는지 검사하려합니다.
김정
•
2000.10.18 07:45
어린왕자
•
2000.10.18 18:57
어린왕자
•
2000.10.18 18:45
김정
•
2000.10.18 19:10
어린왕자
•
2000.10.18 19:44
김정
•
2000.10.18 19:53
어린왕자
•
2000.10.18 18:36
델피언
2000.10.18 00:39
0
COMMENTS
/
0
LIKES
ADO Query와 Table을 이용시 Blob형의 처리?
박일용
•
2000.10.18 00:36
1
COMMENTS
/
0
LIKES
DBGrid Scroll에 대해서...?
남기석
•
2000.10.18 08:58
안녕하세요 청개구리 남기석입니다. 데모에 있는 것은 DB가 파라독스입니다. 파라독스는 특별한 처리...
이선경
•
2000.10.18 00:31
2
COMMENTS
/
0
LIKES
adoquery에서의 쿼리시 문제 ?
최석기
•
2000.10.18 02:31
원래 null값 조회 방식이 이거 아닌가요? 전 항상 이렇게 사용하는데요.. select * from m_book wher...
이선경
•
2000.10.18 18:05
access에서 data=null이 먹어서 될줄 알았는데.. is null해야 먹는군요,.. 감사 감사합니다...
초
2000.10.18 00:28
0
COMMENTS
/
0
LIKES
Like를 Filter로 바꿔서 사용할려구 하는데 좀 도와 주세요...
초보자
2000.10.18 00:24
0
COMMENTS
/
0
LIKES
질문제목과 분류를 꼭 해주시길 부탁드립니다.
초보자
2000.10.18 00:21
0
COMMENTS
/
0
LIKES
질문제목과 분류를 꼭 해주시길 부탁드립니다.
홍진혁
2000/10/18 01:33
Views
392
Likes
0
Comments
3
Reports
0
Tag List
수정
삭제
목록으로
한델 로그인 하기
로그인 상태 유지
아직 회원이 아니세요? 가입하세요!
암호를 잊어버리셨나요?
고드름 김정입니다.
컴파일 프로그래밍에서 실행 파일을 만들기 위해서는 두 단계를 거칩니다.
Compile 과 Link 입니다.
1.컴파일은 소스 코드는 2진형태의 목적코드(object 혹은 library)로 만들며,
2.링크는 목적 코드들을 합쳐서 실행파일을 만듭니다.
이때, 소스에서 부르려는 함수이름과 실제 함수가 구현된 곳을 연결시켜줍니다.
이런 과정을 Binding 과정이라고 부릅니다.
컴파일러가 발달하면서, Link(Bind)과정이 동적으로 가능하게 되었습니다.
이전에는 Library 형태로 함수가 실행파일과 함께 더해졌었습니다.
따라서 용량도 커지고, 그만큼 메모리도 많이 차지하고,
프로그램들 간에도 같은 기능이 겹쳐서 사용되고는 했습니다.
동적 링크란 것은 실행 파일 밖에 구현된 함수가 제공되어,
실행파일이 실제로 실행될때 필요할때만 불리는 것을 말합니다.
DLL( Dynamic Link Library )는 바로 이런 역할을 합니다.
여러 실행 파일들이 함께 사용할 수 있는 함수들이 들어 있습니다.
윈도우즈 자체도 수많은 DLL을 제공하고 있습니다.
실제 API들도 DLL에 들어있기 때문에 델파이도 자유롭게 불러쓰고 있는 겁니다.
VC의 경우, VClib 디렉토리 아래에 제공되는 DLL의 lib 파일을 함께 배포합니다.
링크가 lib안에 있는 함수정보를 봐야만 실행파일을 만들 수 있기 때문입니다.
또한 VC에서 DLL을 제작하면 자동으로 lib 파일이 생성됩니다.
하지만 Delphi의 경우는 특별하게도 DLL을 만들어도 lib 파일이 생성되지 않습니다.
물론 DLL 을 사용하려고 해도 lib 파일이 필요없습니다.
단지 Unit interfaces 내부에 선언해주고, implementation 내부에 DLL 함수명만쓰면,
실행파일이 DLL을 자동(?)으로 연결시킵니다.
하지만 DLL 파일만 가지고도 해당 lib를 만들 수도 있습니다.
C-builder의 경우, VC와 lib파일의 구조가 다르기 때문에
DLL에서 새롭게 CB용 lib파일을 생성해야 링크가 가능합니다.
VC에도 그런 툴이 있는 걸로 압니다만, (사용한적은 없습니다...)
만약 델파이에서 작성한 DLL을 사용하려면 동적 링크 방법을 사용하면 됩니다.
VC에서 DLL 동적 연결 방법은 VC 책을 참고하세요.
델파이 서적에서도 같은 API로 구현된 예를 찾으실 수 있을 겁니다.
그럼.
홍진혁 wrote:
> 안녕하세요.
> 델파이 초보자입니다.
>
> 다름아니고, .lib화일을 만들고 싶은데 만드는 방법을 모르겠습니다.
> 고수님들의 한 수 지도 부탁드립니다.
>
> 그리고, 질문이 한가지 있는데요...
> .dll과 .lib의 차이점을 알고 싶습니다.
>
> 그럼 부탁드리겠습니다