multiple definition 원인과 해결방법

2019. 5. 14. 02:22임베디드/ATmega128

헤더파일은 컴파일 되는 것이 아니라 .c가 컴파일 되기 전에 전처리과정을 중 소스 내에 필요한 내용을 삽입하는 역할을 한다. 다만 global 변수를 헤더파일에 선언할 경우, 여러 소스파일에서 해당 변수를 사용할 때 컴파일러는 하나의 변수로 link하지 못하고 중복선언으로 알게된다.

 

따라서 초기화할 소스파일에서 선언을 하고 다른 소스파일에서는 extern으로 변수를 가져와서 사용해야 한다  

'임베디드 > ATmega128' 카테고리의 다른 글

보율과 bps  (0) 2019.05.14
What does PuTTY send when I press Enter key?  (0) 2019.05.14
atmega128 + Node.js  (0) 2019.05.14
ISR에서 피해야 하는 구문  (0) 2019.05.13
AVR 스터디 [2019.05.12] 문제사항  (0) 2019.05.12