VS2019 C ++ 동적 링크 라이브러리를 사용하여 만든

정적 라이브러리 : 실행 파일, 라이브러리에서와 복사 링커 기능과 데이터를 컴파일 및 링크 할 때 기능 및 데이터는 정적 라이브러리의 경우, 일반적으로 확장 lib 디렉토리에, 이진 파일로 컴파일을 가지고 응용 프로그램의 다른 모듈 함께 최종 실행 파일을 만들 수 있습니다.

DLL : 종종 두 개의 파일을 제공하는이 하나가 DLL과 라이브러리의 소개, 가져 오기 라이브러리는 DLL은 실제 기능 및 데이터를 포함, DLL에서 내보낼 함수와 변수의 상징적 인 이름이 포함되어 있습니다. 컴파일 및 실행 파일을 연결하면 바로 가져 오기 라이브러리를 연결, DLL 함수의 코드와 데이터는 런타임에 실행 파일에 복사되지 않습니다, DLL을로드 이동 DLL 내보내기 기능을 방문하십시오.

DLL을 사용의 이점 : 1. 당신은 프로그래밍 언어의 다양한 사용할 수 있습니다 제품에 2 개 개선, 3 차 개발 플랫폼을 제공하는 4 프로젝트 관리 및 개발을 단순화 5는 디스크 공간과 메모리를 절약 할 수 .... 여러 프로그램이 동일한 자원을 사용합니다 6. 자원의 공유를 촉진 7 응용 프로그램을 지역화하는 데 도움이됩니다.

DLL은 두 가지 방법으로로드됩니다

암시 적 링크 :

새로운 절차 ①의 DLL,되는 두 개의 새로운 덧셈과 뺄셈 기능;

 

 프로젝트 폴더에 DEBUG 파일을 열고 컴파일 후 생성 된 DLL 파일을 볼 수 있습니다;

 

명령을 추가 할 필요 DUMPBIN 인식하지 않는 경우에, 개방 명령 Cmd를 침대 개방이 경로 (파일 경로 복제, 즉 오른쪽 페이스트 명령 창) -exports Dll1.dll DUMPBIN 입력 스위치, 상기 DLL로부터 유도되는 정보를 볼 수있다 환경 변수 (내 설치 경로는 C : \ Program Files 마이크로 소프트 비주얼 스튜디오 \ (86) \ 2019 프로 \ VC \ 도구 MSVC \ 14.23.28105 \ 빈 \ Hostx64 \ x64의를 \ \)

 

 

 우리는 코드로 돌아가, 다시 컴파일 된 각 함수 이름 앞에 _declspec (dllexport)를 증가하고, 결과 파일은 라이브러리의 초기 도입했다되는 Dll1.lib 파일, 이상을 발견;

 

 오버로드 기능을 가진 C는 ++, 함수 이름이 상징 내부 컴파일러 디스플레이의 무리에 의해 식별 될 수 있기 때문에 다음에 cmd 명령을 다시 실행, 당신은, 우리가 기능을 내보내 정보를 볼 수 있습니다.

 

 테스트 결과 : C ++ 콘솔 프로그램의 새로운 재, 추가 및 하위 함수를 호출, 추가 라이브러리 의존성은 속성에 Dll1.lib을 추가하고, 디렉토리 (Dll1.lib 및 Dll1.dll)에 파일을 복사;

 

 동일한 테스트 절차 DUMPBIN 입력 파일 정보를 확인하는데 사용될 수있다

 

추천

출처www.cnblogs.com/asce/p/11621588.html