object oriented의 polymorphism과 비교할 수도 있을 것 같은데, 같은 이름의 심볼이 있으면 weak symbol이 strong symbol에게 overriding이 되게 하는 것입니다. 예를 들어 shared library에 a라는 weak symbol이 있을 때 이를 사용하는 프로그램에서 a라는 심볼이 있으면 프로그램에서는 shared library가 아닌 자신에 있는 것을 사용하게 됩니다. shared library에 있는 것이 일반 심볼이라면 같은 이름의 심볼이 있다고 링크가 안되겠죠.
object oriented의 polymorphism과 비교할 수도 있을
object oriented의 polymorphism과 비교할 수도 있을 것 같은데, 같은 이름의 심볼이 있으면 weak symbol이 strong symbol에게 overriding이 되게 하는 것입니다. 예를 들어 shared library에 a라는 weak symbol이 있을 때 이를 사용하는 프로그램에서 a라는 심볼이 있으면 프로그램에서는 shared library가 아닌 자신에 있는 것을 사용하게 됩니다. shared library에 있는 것이 일반 심볼이라면 같은 이름의 심볼이 있다고 링크가 안되겠죠.
여기 참고해보세요
http://gcc.gnu.org/onlinedocs/gcc-3.4.2/gcc/Attribute-Syntax.html#Attribute-Syntax
댓글 달기