CnUnix

[알림판목록 I] [알림판목록 II] [글목록][이 전][다 음]
[ CnUnix ] in KIDS
글 쓴 이(By): testors (testors)
날 짜 (Date): 2004년 4월  9일 금요일 오후 01시 01분 56초
제 목(Title): Re: c와  C++ 파일 링크..


>  C에서 C++코드 많이 불러 쓰는데요. -.-;;
>  물론 wrapping을 해서.

가령 a.cc 파일에 int a() 를 넣었을경우 gcc 에서는 _Z1av() 로 이름이 바뀌기에
b.c 에서 a() 를 콜할수가 없을텐데요.. 

혹시..
.c 파일 컴파일할때도 gcc 를 사용한게 아니라 g++ 혹은  CC를 사용한거 아닌가요?
확장자가 .c 라고 해도 C++ 컴파일러를 사용하면 C++ 로 인식될겁니다.
그렇다면 그건 C 가 아니라 C++ 이라고 봐야 할텐데요.

어떤 방법으로 C 에서 C++ 코드를 호출하신건지..?
wrapping 이란게 어떤것인가요?

> 박종대님이 말씀하신 C++초기화 문제를 격어본적은 없습니다.

그리고 만약 C 에서 C++ 코드가 호출이 가능하다면...
클래스의 생성자/소멸자 호출코드는 obj 파일 안에 컴파일러가 낑겨주니
일반적인 경우 초기화 문제가 없을수 있겠지만..
클래스 정적멤버 혹은 전역 객체의 초기화는 app 의 entry point 에 넣어줘야 하니
만약 main() 이 C 파일에 있고, 그게 다른 C++ obj file 을 호출한다면
이부분에서도 문제가 생길것 같은데요.. 아닌가? -.-;

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