게시글
질문&답변
2024.08.29
pyinstaller UnicodeDecodeError 가 발생합니다.
저같은 경우엔 f = open(args.output+'.h', 'w+')에서 'utf-8' codec can't decode byte 0xc0 in position 292: invalid start byte에러 났었는데PacketHandler.h 파일의 인코딩 저장 방식을 UTF-8로 설정해주니 실행 잘 됐습니다.
- 0
- 3
- 988
질문&답변
2024.06.23
virtual 과 에러에 대한 질문이 있습니다.
같이 공부하는 사람입니다.. 저도 궁금해서 확인해봤는데요클래스 BB에서 Info를 가상함수로 등록하면서 BB클래스의 객체를 생성할 때 가상함수 테이블이 생성되고, (AA클래스의 객체를 생성할 때는 가상함수 테이블 생성되지 않음), 그것을 AA클래스 포인터로 바라보면서 해제하려고 하니까[가상함수 테이블 주소][_Aa] [_Bb] 여기서 delete -> free를 할 때 처음에 할당했던 공간 앞뒤로 넣었던 체크 값을 확인하는 과정에서 [heap 체크섬][가상함수 테이블 주소] [_Aa] [_Bb][heap 체크섬] 인데해제하려는 포인터가 잘못됐다! 라는 판단을 내리고 _CrtIsValidHeapPointer라는 런타임 에러를 발생시킨 것 같습니다. 소멸자를 Virtual로 붙여서 해결되는 이유도 BB의 정확한 해제가 가능해서 그런 것 같고요
- 0
- 3
- 210