g++ 버젼 문제....라고 해야하나요?
글쓴이: ningoi / 작성시간: 수, 2007/02/14 - 2:55오후
테스트 서버 A환경
Linux 2.4.20-28.7smp #1 i686 unknown
Reading specs from /usr/lib/gcc-lib/i386-redhat-linux/2.96/specs
gcc version 2.96 20000731 (Red Hat Linux 7.3 2.96-110)
테스트 서버 B환경
Linux 2.4.21-27.ELsmp i686 i686 i386 GNU/Linux
gcc version 3.2.3 20030502 (Red Hat Linux 3.2.3-47)
테스트 A환경에서
g++로 소켓 서버를 만들어서 컴파일 했습니다
그리고 실행파일은 B환경에서 실행시켰습니다.
그랬더니 서버가 죽더군요..
서버가 죽는 이유는 제가..string 클래스를 상속받아서 조금 이용한 부분에서 자꾸만에러가 나더군요(잘못된 메모리를 참조하더군요.)
실제 이부분이 에러가 나는건 절대아닙니다(4년동안 써오던 클래스이기에..)
제가 물오보고자 하는내용은.
실제 저런형태로 컴파일해서 다른곳에서 실행시켜도 실행이 잘 되던가요?
전 자꾸만 에러가 나서요..
2. 그리고 sring클래스가 2.96버젼하고 3.x대하고 이상하던데요..
선언하는것도 틀리고...어디 뒤져보니까 무슨 버퍼크기가 달라졌다는데...
참조할수 있는 사이트나 알고 계시는 지식있으면 공유해주셨습면 고맙겠습니다.
Forums:
버전 문제 같네요.
1. 같은 시스템에서도 ABI 가 바뀌면 새로 다 컴파일 해야 됩니다.
2. libstdc++ 이 이전 gcc 와 gcc3.2 하고 gcc3.4 에서 ABI 변화가 큰 걸로 보입니다.
(http://gcc.gnu.org/onlinedocs/libstdc++/abi.html)
댓글 달기