DLL 프로그래밍 경험 (1) - DLL 라이브러리 이름 편집

1952 단어 dll
최근에 dll 포장을 하고 돌을 만져서 강을 건너는데 그 과정에서 몇 가지 문제 해결 경험을 통해 작은 매듭을 짓는다.
DLL 엔지니어링: MyDllTest
1. DEBUG 및 RELEASE 버전 생성 DLL 구분
프로젝트를 컴파일할 때 두 가지 선택이 있습니다. DEBUG와 RELEASE 버전입니다. 일반적으로 dll 라이브러리를 제공하는 것도 두 가지가 있는데 두 가지 방법이 있습니다.
1.1 생성된 라이브러리 파일에 대해 다른 이름을 정의하여 구분할 수 있습니다.
 
 
 
debug 버전
release 버전
 
dll 파일
커넥터 내 > 일반 > 출력 파일
../bin/dbg/MyDllTest_d.dll
../bin/rls/MyDllTest.dll
 
lib 파일
커넥터 내 > 고급 > 라이브러리 가져오기
../lib/dbg/MyDllTest_d.lib
../lib/rls/MyDllTest.lib
 
.def 파일
프로젝트 디렉토리: MyDllTest.def 파일
LIBRARY "MyDllTest_d"
LIBRARY "MyDllTest"
 
 
여기는 특별히 주의해서 바꿀 뿐이다.dll,.lib의 파일은 쓸모가 없습니다. dll을 호출할 때 프로그램이 항상 오류를 보고합니다.꼭 유지해야 해.def 파일의 LIBRARY 정의 및.dll 이름이 같습니다.def 파일이 정의입니다.dll의
(1) .lib은 동적 라이브러리의 인덱스 파일입니다. 이름은.dll는 일치하지 않지만 이해하기 편하고 고려하기 편합니다.dll 이름이 일치합니다.
(2).def 파일은 동적 링크 라이브러리를 정의합니다. 이름은 반드시 출력해야 합니다.dll 일치.
(3) .lib의 DLL 라이브러리 참조 기준.def에서 DLL 라이브러리 이름 레코드를 정의하므로dll 이름 및.def 이름이 일치하지 않습니다. 프로그램이 불러옵니다.lib 파일 이후에도 해당 파일을 찾을 수 없습니다.dll 파일.
===MyDllTest.def====
 
; MyDllTest.def:    DLL      。



LIBRARY "MyDllTest" 

EXPORTS

    ;          


 
 
=============== 
 
1.2 DLL 라이브러리 파일 이름이 같고 출력 경로가 다르면 됩니다.
동적 링크 라이브러리의 이름을 바꾸지 않는 방법도 있습니다.def 파일 동적 라이브러리 정의는 debug와release 버전의 경로를 다르게 설정하면 됩니다.
 
 
debug 버전
release 버전
 
dll 파일
커넥터 내 > 일반 > 출력 파일
../bin/dbg/MyDllTest.dll
../bin/rls/MyDllTest.dll
 
lib 파일
커넥터 내 > 고급 > 라이브러리 가져오기
../lib/dbg/MyDllTest.lib
../lib/rls/MyDllTest.lib
 
.def 파일
프로젝트 디렉토리: MyDllTest.def 파일
LIBRARY "MyDllTest"
LIBRARY "MyDllTest"
 
 
 
 
 
 
 

좋은 웹페이지 즐겨찾기