사양은 여기에서 볼 수있다 :winpcap에서 .lib과 .dll을 모두 실행해야하는 이유는 무엇입니까?
http://www.winpcap.org/docs/docs_40_2/html/group__wpcapsamps.html
그것은 하나 .lib
또는 .dll
이 IMO 충분하다, 왜 모두 요구하는 것은 매우 이상하다?
사양은 여기에서 볼 수있다 :winpcap에서 .lib과 .dll을 모두 실행해야하는 이유는 무엇입니까?
http://www.winpcap.org/docs/docs_40_2/html/group__wpcapsamps.html
그것은 하나 .lib
또는 .dll
이 IMO 충분하다, 왜 모두 요구하는 것은 매우 이상하다?
Dll을 호출하는 경우에는 Dib가 필요합니다. 당신이 일반적으로 가져 오기 라이브러리 (당신의 .LIB) 구축하거나 실행 파일을 만들 연결할 때 연결하여 처리하는 동적 라이브러리에 연결 wikipedia
에서 더 정보를 원하시면
을 아래의 링크를 볼 수 있습니다. 생성 된 실행 파일에는 모든 DLL 함수 호출이 참조되는 가져 오기 주소 테이블 (IAT)이 포함됩니다 (각 참조 된 DLL 함수에는 IAT의 고유 항목이 포함됨). 런타임에 IAT는 별도로로드 된 DLL의 함수를 직접 가리키는 적절한 주소로 채워집니다.
일반적으로 링커에는 .lib
, 런타임에는 .dll
이 필요합니다. .lib
파일은 "가져 오기 라이브러리"라고하며 링커에게 연결된 .dll
파일에서 찾을 수있는 함수를 알려주는 글루가 포함되어 있습니다.
런타임에는 .dll
파일 만 필요합니다.
이것은 Win32 DLL 프로젝트에 널리 사용되는 레이아웃이며 Winpcap에 국한되지 않습니다.
winpcap뿐만 아니라 모든 외부 라이브러리도 마찬가지입니다.
*.h
를 헤더 파일이 필요하고 실행에 그 *.o
파일을 링크 할 때 당신은 *.o
파일 *.lib
또는
*.dll.a
파일. 당신이 그 실행 파일을 실행하면
*.dll
파일
가 필요합니다. – Gtker
@Gtker - .lib는 .H 파일과 비슷하지 않습니다. DLL을 액세스 할 수있는 exe를 빌드 할 때 2 가지 옵션이 있습니다. (i) .h, .lib (컴파일 및 링크 용) 및 .dll (런타임 용) 준비. (ii) Loadlibrary(), GetProcAddress()를 사용하고 dll 함수를 호출하십시오. 이 경우에는 .Lib 또는 .H 파일이 필요하지 않습니다. (내 충고는 두 번째 선택에서 벗어나는 것이다.) – SysAdmin