Common (Library): adds FF_LIBRARY_LOAD_SYMBOL_VAR_LAZY

This commit is contained in:
Carter Li
2026-07-14 10:50:36 +08:00
parent 0b3ef5d35c
commit 8ca6bb084d
+6
View File
@@ -57,6 +57,9 @@ static inline void ffLibraryUnload(void** handle) {
#define FF_LIBRARY_LOAD_SYMBOL_VAR(library, varName, symbolName, returnValue) \
FF_LIBRARY_LOAD_SYMBOL_ADDRESS(library, (varName).ff##symbolName, symbolName, returnValue);
#define FF_LIBRARY_LOAD_SYMBOL_VAR_LAZY(library, varName, symbolName) \
(varName).ff##symbolName = (typeof(&symbolName)) dlsym(library, #symbolName);
#define FF_LIBRARY_LOAD_SYMBOL_VAR_MESSAGE(library, varName, symbolName) \
FF_LIBRARY_LOAD_SYMBOL_ADDRESS(library, (varName).ff##symbolName, symbolName, "dlsym " #symbolName " failed");
@@ -94,6 +97,9 @@ void* ffLibraryLoadMulti(const char* path, int maxVersion, ...);
#define FF_LIBRARY_LOAD_SYMBOL_VAR(library, varName, symbolName, returnValue) \
FF_LIBRARY_LOAD_SYMBOL_ADDRESS(library, (varName).ff##symbolName, symbolName, returnValue);
#define FF_LIBRARY_LOAD_SYMBOL_VAR_LAZY(library, varName, symbolName) \
(varName).ff##symbolName = (typeof(&symbolName)) &symbolName;
#define FF_LIBRARY_LOAD_SYMBOL_VAR_MESSAGE(library, varName, symbolName) \
FF_LIBRARY_LOAD_SYMBOL_ADDRESS(library, (varName).ff##symbolName, symbolName, "dlsym " #symbolName " failed");