目次 - SDL 3.0 API(機能別) - CategoryDlopenNotes

CategoryDlopenNotes

概要

このヘッダはコードにアノテーション(注釈)を付加することで外部ツールに動的共有ライブラリへの依存を知らせることができるようにする.

使用するツールチェーンがdlopenの注釈に対応していないならば, SDL_DISABLE_DLOPEN_NOTESを定義してこの機能を無効化できる. このCMakeスニペットを使用すると対応をチェックできる:

include(CheckCSourceCompiles)
find_package(SDL3 REQUIRED CONFIG COMPONENTS Headers)
list(APPEND CMAKE_REQUIRED_LIBRARIES SDL3::Headers)
check_c_source_compiles([==[
  #include 
  SDL_ELF_NOTE_DLOPEN("sdl-video",
    "Support for video through SDL",
    SDL_ELF_NOTE_DLOPEN_PRIORITY_SUGGESTED,
    "libSDL-1.2.so.0", "libSDL-2.0.so.0", "libSDL3.so.0"
  )
  int main(int argc, char *argv[]) {
    return argc + argv[0][1];
  }
]==] COMPILER_SUPPORTS_SDL_ELF_NOTE_DLOPEN)
if(NOT COMPILER_SUPPORTS_SDL_ELF_NOTE_DLOPEN)
  add_compile_definitions(-DSDL_DISABLE_DLOPEN_NOTE)
endif()

マクロ

  1. SDL_ELF_NOTE_DLOPEN - アプリケーションの動的共有ライブラリへの依存の注釈を追加するマクロ
  2. SDL_ELF_NOTE_DLOPEN_PRIORITY_RECOMMENDED - SDL_ELF_NOTE_DLOPEN()で依存する動的共有ライブラリが推奨であることを注釈するマクロ
  3. SDL_ELF_NOTE_DLOPEN_PRIORITY_REQUIRED - SDL_ELF_NOTE_DLOPEN()で依存する動的共有ライブラリが必須であることを注釈するマクロ
  4. SDL_ELF_NOTE_DLOPEN_PRIORITY_SUGGESTED - SDL_ELF_NOTE_DLOPEN()で依存する動的共有ライブラリが任意であることを注釈するマクロ

SDL Wikiへのリンク

SDL3/CategoryDlopenNotes - SDL Wiki