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

SDL_ELF_NOTE_DLOPEN

アプリケーションの動的共有ライブラリへの依存の注釈を追加するマクロ

ヘッダ

SDL3/SDL_dlopennote.h

構文

#define SDL_ELF_NOTE_DLOPEN(feature, description, priority, ...) \
    SDL_ELF_NOTE_INTERNAL(                                       \
        "[{\"feature\":\"" feature                               \
        "\",\"description\":\"" description                      \
        "\",\"priority\":\"" priority                            \
        "\",\"soname\":" SDL_DLNOTE_JSON_ARRAY(__VA_ARGS__) "}]",   \
        SDL_DLNOTE_UNIQUE_NAME);

詳細

次をグロバルスコープに追加すると実現できる:

SDL_ELF_NOTE_DLOPEN(
    "png",
    "Support for loading PNG images using libpng (required for APNG)",
    SDL_ELF_NOTE_DLOPEN_PRIORITY_RECOMMENDED,
    "libpng12.so.0"
)

最後のセミコロンは必要ない.

または, 複数のバージョンのライブラリに対応しているならば, 一覧にできる:

// このアプリケーションは動的に読み込むことでSDL1, SDL2, SDL3に対応する
SDL_ELF_NOTE_DLOPEN(
    "SDL",
    "Create windows through SDL video backend",
    SDL_ELF_NOTE_DLOPEN_PRIORITY_REQUIRED
    "libSDL-1.2.so.0", "libSDL2-2.0.so.0", "libSDL3.so.0"
)

このマクロは可変長引数マクロに対応していないコンパイラでは使用できない.

バージョン

SDL 3.4.0以降

関連項目

SDL Wikiへのリンク

SDL_ELF_NOTE_DLOPEN - SDL Wiki