
enable_dl 옵션은 C++ 프로그램에서 동적 라이브러리 로딩을 위해 사용됩니다. 이 옵션을 사용하려면, 다음의 함수를 사용해야 합니다.
- dlopen() 함수 : 동적 라이브러리를 열기 위해 사용됩니다.
- dlclose() 함수 : 열린 동적 라이브러리를 닫기 위해 사용됩니다.
- dlsym() 함수 : 동적 라이브러리에 정의된 심볼을 가져오기 위해 사용됩니다.
enable_dl 함수는 존재하지 않습니다. 대신 dlopen() 함수를 사용하여 동적 라이브러리를 열고, dlsym() 함수를 사용하여 동적 라이브러리에 정의된 심볼을 가져올 수 있습니다.
다음은 예제입니다.
#hostingforum.kr
cpp
#include
int main() {
void* handle = dlopen("libexample.so", RTLD_LAZY);
if (!handle) {
// 오류 처리
}
void (*func)() = (void (*)())dlsym(handle, "example_function");
if (!func) {
// 오류 처리
}
func();
dlclose(handle);
return 0;
}
이 예제에서는 "libexample.so"라는 이름의 동적 라이브러리를 열고, "example_function"이라는 이름의 심볼을 가져옵니다. 가져온 심볼은 void(*)() 형식의 함수 포인터로 저장됩니다. 함수를 호출하고, 동적 라이브러리를 닫습니다.
2025-05-27 20:40