2011-02-09 6 views
2

나는 사람들이 dll의 인터페이스를 변경하는 것에 대해 이야기하는 것을 들었다. dll 인터페이스의 변경 내용은 무엇이며 어떻게 처리합니까?dll의 인터페이스

답변

3

dll의 인터페이스를 변경하면 dll과 호출 코드가 상호 작용하는 방식이 변경됩니다. 이것은 dll의 내보내기 함수의 서명을 변경하거나 다른 함수 세트로 완전히 변경되거나 호출 코드에서 다른 데이터를 전달할 수 있음을 의미 할 수 있습니다. dll의 인터페이스는 일반적으로 모두 내보내지고 가져온 항목 (함수와 데이터 모두)입니다. 즉, 사용할 때 액세스 할 수있는 dll 부분입니다.

종종 인터페이스를 변경하지 않고 dll의 동작을 변경하려고합니다. 이것은 인터페이스를 변경하면 종종 인터페이스를 사용하는 코드가 깨지기 때문입니다. 이전에 foo는 사용 된 모든 코드를 다시 작성해야하며,

void foo(int i) 
{ 
    // Does thing with integer 
} 

인터페이스를 변경하면 이제

void foo(int, float); 

foo의 서명을 변경 의미 할 수있다 :

내 DLL의 내보내기 기능 foo을 상상 새로운 서명을 사용하십시오. 이는 나쁜 것일 수 있습니다.