이 글은 기계 번역의 미러 문서이며, 원본 기사로 바로 이동하려면 여기를 클릭해 주세요.

보기: 12415|회답: 1

[C] C++ Lib와 Dll을 참조하는 메서드 요약

[링크 복사]
게시됨 2019. 7. 2. 오후 5:06:54 | | |
1. 정적 연결 라이브러리 LIB와 동적 링크 라이브러리 DLL이란 무엇인가요?     
정적 링크와 동적 링크 라이브러리 모두 바이너리 형식으로 코드를 공유합니다



2. 정적 링크 라이브러리 LIB와 동적 링크 라이브러리 DLL의 차이점
정적 연결 라이브러리를 사용하면 라이브러리 내 모든 명령어가 결과 EXE 파일에 직접 포함되어 있습니다. 동적 동적 링크 라이브러리는 최종 EXE 파일에 반드시 포함될 필요가 없으며, EXE 파일이 실행될 때 "동적으로" 참조하고 언로드할 수 있습니다. 또 다른 차이점은 정적 링크 라이브러리는 더 이상 다른 동적 또는 정적 링크 라이브러리를 포함할 수 없지만, 동적 링크 라이브러리는 다른 동적 또는 정적 링크 라이브러리를 포함할 수 있다는 점입니다.



3. 정적 링크 라이브러리 호출 방법:
리브(lib) 파일을 생성하기 위해 생존해 봅시다:

VS2017--> 새 프로젝트 생성-->windows desktop--> 정적 라이브러리, 프로젝트 이름은 Libtest입니다



새로운 함수.h와 functem.cpp

functem.h:

#pragma 한 번
#include "stdafx.h"
#ifndef _functem_H
#define _functem_H
int 함수(int a, int b);
#endif
functem.cpp:

#include "functem.h"
#include "stdafx.h"

int 함수(int a, int b)
{
        A + b 반환;
}
그 다음 프로젝트를 생성하면 Debug 디렉터리에 Libtest.lib와 Libtest.pdb 두 개의 파일이 생깁니다

전화를 걸 때는 세 가지 단계가 필요합니다:

1. Libtest.lib와 functem.h를 호출자의 디렉터리에 복사합니다; 아래 그림과 같이 합니다:



2. 호출 cpp 파일 위에 "functem.h"#include 추가하세요

3. 호출 cpp 파일 위에 #pragma 주석(lib, "Libtest.lib")을 추가하세요



위 그림에서 보듯이, 이 통화는 성공적이었습니다.



4. 동적 링크 라이브러리 호출 방법:
새 프로젝트 생성 - Dlltest라는 이름의 동적 링크 라이브러리를 >

새로운 Dlltest.h 만들기:

#pragma 한 번
#ifndef __CDLL_H__
#define __CDLL_H__
extern "C" int _declspec(dllexport) add(int x, int y);
#endif
Dlltest.cpp:

#include "stdafx.h"
#include "Dlltest.h"
int add(int x, int y)
{
        x + y를 반환;
}
프로젝트를 생성하세요. 디버그 디렉터리에는 다음과 같은 항목이 있습니다:



통화 절차:

1. Dlltest.dll, Dlltest.lib, Dlltest.h를 복사하여 발신자의 디렉터리로 저장합니다; 아래 그림과 같이 합니다:



추신: 여기서 Dlltest.lib은 컴파일러 링크를 컴파일할 때만 사용되기 때문에, 프로그램이 생성된 후에는 lib 파일을 포함할 수 없고 dll 파일만 포함할 수 있으며, 실제 용도는 dll 파일입니다. 요약하자면, 세 파일 모두 복사해야 하지만, .h와 .lib는 링크를 컴파일하는 데 사용되며, 최종 생성된 디렉터리에는 .dll만 배치하면 됩니다.

2. 호출된 cpp 파일 위에 "Dlltest.h"를 #include 추가하세요

3. 호출 cpp 파일 위에 #pragma 주석(lib, "Dlltest.lib")을 추가하세요



통화가 성공했습니다!
---------------------
저자: 버드
출처: CSDN
원본: https://blog.csdn.net/wcc27857285/article/details/84615891
저작권 고지: 이 글은 블로거의 원본 기사입니다. 재인쇄를 위해 블로그 게시물 링크를 첨부해 주세요!





이전의:1. 최신 강의자료 구축
다음:MFC의 LPSTR 타자 쓰기
게시됨 2023. 12. 16. 오후 1:10:26 |
프롬프트:작가가 차단되거나 삭제되면 콘텐츠가 자동으로 차단됩니다
면책 조항:
Code Farmer Network에서 발행하는 모든 소프트웨어, 프로그래밍 자료 또는 기사는 학습 및 연구 목적으로만 사용됩니다; 위 내용은 상업적 또는 불법적인 목적으로 사용되지 않으며, 그렇지 않으면 모든 책임이 사용자에게 부담됩니다. 이 사이트의 정보는 인터넷에서 가져온 것이며, 저작권 분쟁은 이 사이트와는 관련이 없습니다. 위 내용은 다운로드 후 24시간 이내에 컴퓨터에서 완전히 삭제해야 합니다. 프로그램이 마음에 드신다면, 진짜 소프트웨어를 지원하고, 등록을 구매하며, 더 나은 진짜 서비스를 받아주세요. 침해가 있을 경우 이메일로 연락해 주시기 바랍니다.

Mail To:help@itsvse.com