2011-07-28 6 views
0

는 :동적로드와 후기 바인딩 간의 유사점과 차이점은 무엇입니까? 위키

동적 로딩 컴퓨터 프로그램은, 실행시에, 메모리에 라이브러리 (또는 다른 이진)을로드에 포함되는 함수와 변수의 주소를 검색 할 수있는 메커니즘이다 라이브러리에서 이러한 함수를 실행하거나 해당 변수에 액세스하고 라이브러리에서 메모리를 언로드하십시오.

후기 바인딩은 런타임에 개체에 대해 호출되는 메서드를 이름으로 조회하는 컴퓨터 프로그래밍 메커니즘입니다.

제 생각에는

,

유사성은이 방법이 실행시에 고개되는 두 메커니즘입니다이다.

차이점은 동적로드는 런타임에 라이브러리를로드 한 후 링커를 사용할 필요가 없지만 후기 바인딩은 항상 링커가 필요하다는 것입니다.

제가 맞는지 확실하지 않습니다. 특히 차이점이 있습니다. 나는 당신의 분석에서 더 많은 것을 배우고 싶다.

+0

동적으로로드 된 메소드에 늦게 바인딩하는 경우를 상상해보십시오. –

+0

loooooooooooool – root

답변

1

후기 바인딩은 오버 커밋과 마찬가지로 정확성과 늦게 발생한 치명적인 오류를 희생하여 몇 가지 추가 이점 (성능/메모리 허용 한도)을 짠 해킹입니다.

지연 바인딩이 없으면 모듈의 동적로드는 재배치에 필요한 모든 심볼을로드 할 때만 해결할 수 있으며 해결할 수없는 경우 복구 할 수있는 의미있는 오류가 발생합니다. 후기 바인딩을 사용하면 동적로드는 사실상 항상 "성공"하고 동적로드 모듈이 해결할 수없는 심볼을 참조하려고 할 때 프로그램을 중단시킬 수 있습니다.

0

제가 알고 있듯이 동적로드는 후기 바인딩보다 낮은 레벨입니다. 따라서 런타임에 바인딩 된 함수 호출은 일반 함수 호출처럼 보이고 느껴집니다. 단, 라이브러리가 없으면 응용 프로그램이 시작될 때 호출이 시도 될 때 응용 프로그램이 종료되고 동적로드의 경우 더 많은 코드를 작성해야합니다 그러나 폴백 메소드를 호출하는 것과 같은 오류 처리를해야합니다.

관련 문제