문서:DLL

문서의 이전 버전(r6)을 보고 있습니다.

역사 raw
대문 랜덤 문서 최근 토론
1. 개요2. 여담3. dll 오류


Dynamic Link Library.

1. 개요

라이브러리란 소프트웨어 개발에서 자주 쓰고 기초적인 함수들을 중복 개발하는 것을 피하기 위해서 표준화된 함수 및 데이터 타입을 만들어서 모아 놓은 것이다. 이런 라이브러리는 언제 메인 프로그램에 연결하느냐에 따라서 Static Link와 Dynamic Link로 나뉘며, DLL은 이 중 후자를 뜻한다.

스태틱 링크는 컴파일 시점에 라이브러리가 링커에 의해 연결되어 실행 파일의 일부분이 된다. 그러나 다이나믹 링크는 각 실행 파일에서 해당 라이브러리의 기능을 사용 시에만, 라이브러리 파일을 참조하여(혹은 다운로드받아) 기능을 호출한다.

2. 여담

개발자들은 좋아하지만[1][2], 유저들은 겁나게 싫어한다.(...) 아무래도 로딩 시간이 있기 때문에 그런 듯. 일부 프로그램은 dll이 없어서 에러를 내뱉기도 한다 NT 6.x 이상의 환경에서 Direct X 9 라이브러리 문제로 에러를 띄운다).

3. dll 오류

관련문서 : 컴퓨터 고장 정보

dll 오류에 관해서 검색하면 해당 dll 파일을 따로 다운받으라는 글을 많이 볼 수 있는데 주로 dll 파일을 제공하는 사이트로 가라고 한다. 하지만 그런 사이트에 있는 파일들의 경우 최신 버전이 아닌 구 버전으로 해결이 안될 수 있기 때문에 dll 파일을 따로 구하기보다는 해당 dll 파일이 포함된 드라이버를 재설치하는게 낫다.

  • ntdll.dll 의 appcrash
이 파일은 다양한 곳에서 오류를 일으키며 상당히 골때린다. 인터넷 익스플로러 오류의 해결방법으로는 다음이 있다.
  1. 여기처럼 최근에 수정된 프로그램을 삭제해보거나 레지스트리의 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Browser Helper Objects 하단의 경로들을 삭제해준다.
    2. 윈도 7 환경에서 IE 11과 플래시가 동시에 설치되어 있을 경우 인터넷 실행시 플래시가 포함된 페이지에서 오류를 일으킨다. 이 경우 IE 11을 롤백하면 된다.



  • d3dx9_#(숫자).dll이 없음
    인터넷에서 d3dx9_(아무 숫자).dll 검색해서 다운받고 이름을 해당 숫자로 바꿔 프로그램을 실행시킬 폴더나 %SystemRoot%(C:WindowsSystem32)에 넣으면 된다. 이것도 마트료시카 마냥 여러 개가 뜨기 시작하면 그냥 다이렉트X를 재설치하자. (이 경우에는 다이렉트X 9)


[1] 일단 컴파일 시간이 줄어든다. 또, 타사 프로그램에 애드온 기능을 제공할 때 소스 코드를 숨길 수 있다. [2] 또한 협력개발시 개발환경의 통일 없이 모듈별로 작업이 용이하고, 소스코드 관리에도 편하다.