CnUnix

[알림판목록 I] [알림판목록 II] [글목록][이 전][다 음]
[ CnUnix ] in KIDS
글 쓴 이(By): guest (guest)
날 짜 (Date): 1996년05월26일(일) 12시36분35초 KDT
제 목(Title): [A] [Q] ld: Undefined symbol??



제가 알기로는 template class또는 function에 대한 구현을 include해야 하는
것으로 압니다.

즉.. set.h에서 선언된.. template member function에 대한 정의를 set.cc라고 다른
화일에 하지 말고. set.h에 정의하고...

main.cc에서 set.h를 include하면 되는 것으로 알고 있습니다.


그리고... C++에서 함수의 이름을 mangling(함수 이름과 인수의 수 종류에 따라
함수에 대한 이름을 암호화 하는 것)을 하기 때문에..

링크시에 어떤 것이 정의가 안되었다고 불평을 들어도 도데체 그게 무슨 함수인
지 모르는 경우가 많습니다. 특히 template인 경우에는 요..

그래서......mangling된 함수 이름을 원래대로 보여주는 프로그램이 있습니다.

아마 gnu C/C++ 에 포함된 것으로 알고 있습니다.

c++filt란 명령어를 이용하면...됩니다.

% c++filt ___t3set1ZiPCiUi
set<int>::_(int const *, unsigned int)

% c++filt _Show__Ct3set1Zf
set<float>::_Show(void) const


이렇게 됩니다.

그럼. 도움이 되길.


[알림판목록 I] [알림판목록 II] [글 목록][이 전][다 음]
키 즈 는 열 린 사 람 들 의 모 임 입 니 다.