0
연타는 LLVM 적외선의 구체적인 종류를 정의하는 다음 방식을 사용 scheme이 사용 된 경우 :세그멘테이션 폴트
%0 = load %"mytype"** %this
%1 = bitcast %"mytype"* %0 to i32 (%"mytype"*)***
%vtable = load i32 (%"mytype"*)*** %1
%method = getelementptr inbounds i32 (%"mytype"*)** %vtable, i64 0 (index of f() in vt)
%ld = load i32 (%"mytype"*)** %method
%call = call i32 (%"mytype"*)* %ld (%"mytype"* %0)
그러나 다음 스키마가 대신 사용되면 seg fault를 방지하기 위해 위의 코드에서 무엇을 변경해야합니까?
%1 = bitcast %"mytype"* %0 to i32 (%"mytype"*)***
대신 객체의 끝에 vptr에서 배치하면 :
%"mytype" = type {field_types, super_types, virtual_method_types}