나는 오래된 정적 라이브러리 (클래스 구현체)를 가지고 있는데, 가상 함수가 아닌 가상 함수를 클래스의 가상 함수로 변경하고 싶습니다. 라이브러리를 다시 컴파일해야합니까?가상 함수가 아닌 가상 함수가 가상 함수로 변경되면 클래스 구현을 다시 컴파일해야합니까?
0
A
답변
2
@jesper 예 답변을 추가하고 싶습니다. vtable에 새로운 가상 함수마다 새로운 항목이 추가되므로 재 컴파일이 필요합니다.
+0
* 그리고 모든 호출이 이제 VFT를 거쳐야하기 때문에. – EJP
+0
예! VFT는이 클래스에 대한 모든 호출에 의해 조회 될 것입니다. –
4
예. 은 라이브러리 및 응용 프로그램을 사용하여 다시 컴파일해야합니다.
vtable 레이아웃이 영향을 받기 때문에 [태그 : vtable]이 추가되었습니다. – curiousguy