최적화 ( 1 ) GCC 컴파일러 optimization 위험성. 예 : SW4STM32 에서 optimization 에 따라 float 변수 바이트 단위 접근시. GCC 기반툴( SW4STM32 등) 에서 컴파일러 셋팅에 있는 Optimization 설정(아래그림)에 따라 프로그램 작동결과가 심각하게 다른 결과가 나오는 경우 있다. 특히 float 형 변수 사용하는 경우 옵션에 따라 황당한 결과를 주는 경우가 많음. 위 그림은 SW4STM32 화면에서 optimization 부분인데, 프로젝트 생성초기 기본 값은 -Og 가 선택된 상태이다. 옵션 -O1, -O3 -Og 상태로 "float 형변수의 메모리 1바이트 단위로 접근하는 처리" 실행시켜보면, 엉뚱한 결과를 준다. 오류없이 정상적으로 실행되는 옵션 : 상기 Optimization 옵션을 적용하지 않는 None, 혹은 -Os, -O1 을 선택하면 정상 작동한다. 컴파일 옵션에 따른 오류의 실예. 옵션 : No.. 2020. 1. 13. 이전 1 다음