안녕하세요
가끔 일부 코드만 최적화를 방지해야 하는 경우가 있는데요
예를 들어 다음과 같습니다
아래 코드 설명을 첨가하자면 에러가 발생하면 무조건 hw에서 레지스터를 1회 읽어야 해당 레지스터가 클리어 되는 경우가 있습니다
그래서 tmp에 데이터를 옮겨넣고 tmp의 역할은 끝이납니다(다른곳에서 참조 x)
volatile uint32_t tmp;
if 에러
tmp = read_register(hw_address);
그래서 걱정이 되는 경우가 있는데요 tmp가 단순히 읽기만 하고 다른곳에서 참조를 하지 않기 때문에 최적화로 사라지는 문제가 생길까봐요
혹시 이런 경우에 대비할 뭔가 좋은 방법이 없을까요?