import 특성 이름 바꾸기
C++ 특정
이름 충돌 문제 해결 작업
구문
#import type-library rename( "OldName", "NewName" )
매개 변수
OldName
형식 라이브러리에 있는 이전 이름입니다.
NewName
이전 이름 대신 사용할 이름입니다.
설명
이름 바꾸기 특성을 지정하면 컴파일러는 type-library의 모든 OldName을 결과 헤더 파일에서 사용자가 제공한 NewName으로 바꿉니다.
이름 바꾸기 특성은 형식 라이브러리의 이름이 시스템 헤더 파일의 매크로 정의와 일치할 때 사용할 수 있습니다. 이 상황이 해결되지 않으면 컴파일러에서 컴파일러 오류 C2059 및 컴파일러 오류 C2061과 같은 다양한 구문 오류가 발생할 수 있습니다.
참고 항목
결과 헤더 파일에 사용된 이름이 아니라 형식 라이브러리에 사용된 이름이 바뀝니다.
예를 들어, 이름이 MyParent
인 속성이 형식 라이브러리에 있고 GetMyParent
매크로가 헤더 파일에 정의되어 #import
앞에 사용된다고 가정해 보겠습니다. 오류 처리 get
속성에 대한 래퍼 함수의 기본 이름이기 때문에 GetMyParent
이름 충돌이 발생합니다. 이 문제를 해결하려면 #import
문에 다음 특성을 사용합니다.
#import MyTypeLib.tlb rename("MyParent","MyParentX")
위의 특성은 형식 라이브러리에서 MyParent
를 다른 이름으로 바꿉니다. GetMyParent
래퍼 이름을 바꾸려고 하면 오류가 발생합니다.
#import MyTypeLib.tlb rename("GetMyParent","GetMyParentX")
GetMyParent
이름은 결과 형식 라이브러리 헤더 파일에서만 발생하기 때문입니다.
END C++ 특정