[DLL] Implicit Linking DLL / Explicit Linking DLL

2021. 12. 19. 00:07·DLL

Implicit Linking DLL

 

Implicit Load Time Linking 이는 해당 프로그램에서 사용될 DLL 정보를 프로그램에 내장하는 방법이다.

이렇게 하면 프로그램을 실행할 때 어떤 DLL이 필요한지 알려주어 프로그램이 착오 없이 실행된다.

Implicit Linking으로 사용하고자 할 때는 해당 LIB 파일을 링크 옵션에 더해준 뒤 헤더 파일을 소스코드에 포함시키고 원하는 함수를 사용하면 되므로 간단하다. 내보내려는 경우 __declspec(dllexport)를 사용하여 export 하고, 사용 할 경우  __declspec(dllimport)를 사용통해 import하여 해당 소스에 접근이 가능하다.

 

Explicit Linking DLL

 

Explicit Linking은 사용이 조금 까다로울 수 있다. 일단 원하는 시점에 해당 LoadLibrary나 LoadLibraryEx을 통해
라이브러리를 로드를 한 후, 원하는 함수의 포인터를 가져와서 호출하는 방식이다. 이렇게 프로세스의 가상 메모리에 적재된 DLL은 사용이 끝나면 FreeLibrary를 사용하여 풀어주어야 한다. DLL이 적재될 때, 그리고 해제될 때 카운터의 값이 바뀌 되고 이 카운터가 0이 되면 해당 DLL은 더 이상 사용되지 않으므로 시스템은 자동으로 메모리에서 삭제한다.

'DLL' 카테고리의 다른 글

[DLL] DLL Interface  (0) 2021.12.19
'DLL' 카테고리의 다른 글
  • [DLL] DLL Interface
KyuHwang
KyuHwang
  • KyuHwang
    DirectX Engine
    KyuHwang
  • 전체
    오늘
    어제
    • 분류 전체보기 (50)
      • C++ (4)
      • CS (0)
      • Graphics (32)
      • DLL (2)
      • Shader (7)
      • Project (4)
      • ETC (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • YouTube
  • 공지사항

  • 인기 글

  • 태그

    Win API
    mobile format
    std::is_base_of
    Order Independent Transparency
    animation retargeting
    Define Function
    Directx11
    animation constraint
    std::enable_if
    Explicit Linking
    Hash Code
    Alpha Blending
    DirectX 2D
    Shader Reflection
    Return Type Operator
    DLL Interface
    bc format
    Define Macro
    rigging chain
    texture block compression
    Shader Resource 관리
    nvtt
    RunTime Compile Shader
    shader
    hlsl
    Shader Macro
    dll
    Project
    C ++
    Implicit Linking
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
KyuHwang
[DLL] Implicit Linking DLL / Explicit Linking DLL
상단으로

티스토리툴바