Libdl
Dynamic Loader.
Dynamic Loader Function Interfaces
- dladdr
- dlclose
- dlerror
- dlopen
- dlsym
See also
Troubleshooting
Not found symbol
dlsym
함수에서 심볼을 찾을 수 없을 경우 아래와 같이 nm으로 확인해보자:
위와 같이 심볼이 소문자 t라면 호출할 수 없다. GCC:Attribute를 사용하여 함수를 배포해야 한다.
// Windows:
#define EXPORT_DEF __declspec(dllexport)
// GCC
#define EXPORT_DEF __attribute__((visibility("default")))
// ...
EXPORT_DEF void _c2cPluginBaseInfo() { ... }
컴파일 후 아래와 같이 nm으로 확인하면 대문자 T로 바뀐걸 확인할 수 있다.
참고로 소문자t는 로컬 텍스트 영역, 대문자T는 전역(External) 텍스트 영역에 위치된다.