Serwis Edukacyjny
Nauczycieli
w I-LO w Tarnowie

obrazek

Materiały dla uczniów liceum

  Wyjście       Spis treści       Wstecz       Dalej  

Autor artykułu: mgr Jerzy Wałaszek
Uaktualniono: 31.07.2022

©2022 mgr Jerzy Wałaszek
I LO w Tarnowie

Interfejs SDL2:

SDL_LoadFunction

SPIS TREŚCI

Rozdział jest tłumaczeniem oryginalnej instrukcji dla biblioteki SDL2.

SDL_LoadFunction

Użyj tej funkcji, aby wyszukać adres nazwanej funkcji we współdzielonym obiekcie i zwrócić go.

Składnia

void* SDL_LoadFunction(void*       handle,
                       const char* name)

Parametry funkcji

handle poprawny uchwyt współdzielonego obiektu zwrócony przez SDL_LoadObject().
name nazwa funkcji do wyszukania.

Wartość zwracana

Zwraca wskaźnik do funkcji lub NULL, jeśli wystąpił błąd; wywołaj funkcję SDL_GetError(), aby otrzymać więcej informacji na temat błędu.

Przykładowy kod

#include "SDL.h"

/* Deklaracja zmiennych */
void* myHandle = NULL;
char* myFunctionName = "myFancyFunction";
void (*myFancyFunction)(int anInt);

/* Biblioteka dynamicznie ładowana mylib.so */
myHandle = SDL_LoadObject("mylib.so");

/* Załaduj eksportowaną funkcję z mylib.so.
 * Ta eksportowana funkcja ma nadstępujący prototyp:
 * void myFancyFunction(int anInt);
 */
myFancyFunction = (void (*)(int))SDL_LoadFunction(myHandle, myFunctionName);

/* Wywołaj myFancyFunction z jakąś liczbą całkowitą */
if (myFancyFunction != NULL)
{
    myFancyFunction(15);
}
else
{
    /* Tutaj obsługa błędu */
}

Uwagi

Ten wskaźnik funkcji przestaje być ważny po wywołaniu SDL_UnloadObject().

Ta funkcja może wyszukiwać tylko nazwy funkcji języka C. Inne języki mogą zniekształcać nazwy i posiadać ich wewnętrzną obsługę, która różni się od kompilatora do kompilatora.

Upewnij się, że deklarujesz swoje wskaźniki funkcji według tych samych zasad co faktyczna funkcja biblioteczna. Jeśli tego nie zrobisz, twój kod ulegnie awarii w sposób zagadkowy.

Powiązane funkcje

Na początek:  podrozdziału   strony 

Zespół Przedmiotowy
Chemii-Fizyki-Informatyki

w I Liceum Ogólnokształcącym
im. Kazimierza Brodzińskiego
w Tarnowie
ul. Piłsudskiego 4
©2022 mgr Jerzy Wałaszek

Materiały tylko do użytku dydaktycznego. Ich kopiowanie i powielanie jest dozwolone
pod warunkiem podania źródła oraz niepobierania za to pieniędzy.

Pytania proszę przesyłać na adres email: i-lo@eduinf.waw.pl

Serwis wykorzystuje pliki cookies. Jeśli nie chcesz ich otrzymywać, zablokuj je w swojej przeglądarce.

Informacje dodatkowe.