2012-09-30 1 views
0

C에서는 dlopen()을 사용하여 공유 객체를 동적으로 연결하고 dlsym()을 사용하여 특정 심볼 (함수)의 주소를 찾아서 함수 포인터.공유 객체의 위치에서 클래스 객체 만들기

C++에서 클래스 생성자의 주소를 알고있는 경우 을 새로 만들 수 있습니까? 그 클래스의 객체를 반환하는 정적 메서드를 사용하는 것은 C++에서 동적으로 링크하기위한 규칙입니다.

생성자 주소에서 개체를 만들 수 있는지 여부는 궁금했습니다. 그렇다면 예제를 줄 수 있습니까?

미리 감사드립니다.

답변

1

수 없습니다. 문제는 생성자를 직접 호출 할 수 없다는 것입니다. 모든 생성자 호출은 컴파일러에 의해 암시 적으로 생성됩니다. 이것은 또한 함수 포인터를 통해 호출 할 수 없다는 것을 의미합니다.

나는 또한 단지 작동하지 않는 생성자의 주소를 가져 오려고했습니다. (실제로는 빠른 해킹 이었지만 실제로 유효하다는 것을 확신 할 수는 없지만) 생성자는 반환 값을 갖지 않습니다 다음 질문은 해당 함수 포인터의 형식을 작성하는 방법이었습니다.