[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
  • 공지사항

  • 인기 글

  • 태그

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

  • 최근 글

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

티스토리툴바