gcc __attribute__((used)), ((aligned(x))), ((packed)), ((weak))
"__attribute__" 키워드는 GCC 컴파일러가 제공하는 확장 기능으로 C 표준은 아니며 윈도우의 #pragma와 비슷한 역할을 한다. Linux나 MCU 소스코드를 분석하다보면 자주 볼 수 있을 것이다. attribute라는 단어 그대로 "속성"을 지정하는 키워드다. __attribute__((__used__)) 컴파일러가 컴파일 과정에서 코드를 최적화 할 때 선언되어 있고 사용되지 않는 변수를 제거하지 않도록 하는 기능 변수를 선언해놓고 사용하지 않을 때 발생하는 관련 warning를 발생시키지 않음 __attribute__((__aligned__(x))) 선언한 변수의 메모리주소를 x의 배수로 정렬 example : __attribute__((__aligned__(sizeof(long))))..