Serwis Edukacyjny Nauczycieli w I-LO w Tarnowie ![]() Materiały dla uczniów liceum |
Wyjście Spis treści Wstecz Dalej
Autor artykułu: mgr Jerzy Wałaszek |
©2023 mgr Jerzy Wałaszek
|
SDL_LoadFunction
SPIS TREŚCI |
Rozdział jest tłumaczeniem oryginalnej instrukcji dla biblioteki SDL2.
Użyj tej funkcji, aby wyszukać adres nazwanej funkcji we współdzielonym obiekcie i zwrócić go.
void* SDL_LoadFunction(void* handle, const char* name) |
handle | poprawny uchwyt współdzielonego obiektu zwrócony przez SDL_LoadObject(). |
name | nazwa funkcji do wyszukania. |
#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 */ } |
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.
![]() |
Zespół Przedmiotowy Chemii-Fizyki-Informatyki w I Liceum Ogólnokształcącym im. Kazimierza Brodzińskiego w Tarnowie ul. Piłsudskiego 4 ©2023 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.