목록mangled (1)
루토's sssssstory
Name mangling in C++
C++은 C언어를 지원한다. 그래서 예전의 C소스를 가져다가 사용할 수 있다. C 언어는 symbol에서 함수의 이름만으로 찾을 수 있다. 이 것은 C언어가 같은 함수 이름을 사용하는 것을 허용하지 않기 때문인데, C++에서는 다형성으로 인해서 같은 이름을 사용할 수 있다. 그래서 함수이름만으로 찾는 것이 불가능하다. 이런 것을 위해서 내부적으로 함수 이름을 변경해주는데 이것이 name mangling 이다. 다음과 같이 된다. int foo(void) {return 1;} int foo(int ) {return 1;} void goo(void) { int i=foo(), j=f(0); } int _foo_i (void) {return 1;} int _foo_v (int ) {return 1;} void..
Development/C & C++
2008. 3. 25. 15:59