2020년 3월 20일 금요일

STM32 : [TrueStudio]컴파일러 최적화(Optimization) 설정

https://jeonhj.tistory.com/11?category=817343

GNU C/C++ 컴파일러는 6개 레벨의 컴파일러 옵티마이저 속성을 가집니다.

최적화 없는 -O0 부터 -O3, 속도 최적화를 위한 -Ofast, size 최적화를 위한 -Os, 디버깅을 위한 -Og가 있습니다.

자세한 최적화 내용에 대해서는 다음 링크를 참조하세요.


설정을 위해서는 프로젝트 특성 -> C/C++ Build -> Settings -> C Compiler -> Optimization -> Tool Settings 탭에서 설정 할 수 있습니다.




Configuration을 Debug로 설정하면 기본적으로 Optimization Level이 None -O0로 설정되어있고, Release에서는 Size 최적화인 -Os로 설정됩니다.

코드 블록 단위로 최적화를 하기 위해서는 아래와 같은 방법으로 할 수 있습니다.


void __attribute__((optimize("O1"))) myFunc(unsigned char data)
{
     // The code the needs to have the –O1 optimizing 


댓글 없음:

댓글 쓰기