임베디드 리눅스 환경에서 O2 옵션으로 컴파일 시 싱글톤 클래스의 메모리 주소가 겹쳐집니다..
싱글톤 클래스 두개를 만들었는데, 호출 할때마다 값이 변해 있어서
생성자에서 자기 주소를 print하게 해봤더니 메모리 주소가 일부 겹쳐져 있습니다.
동적생성은 전혀 없구요, 그냥 단순하게 아래처럼 구현되있습니다.
static something& Instance()
{
static something instance;
return instance;
}
최적화 옵션 제거시 정상적으로 할당 됩니다.
벌써 멘붕중인데, 혹시 어느 포인트를 확인해봐야 할까요? 단순 컴파일러 호환성 문제일까요?