c++로 Thread 프로그래밍중 이런에러가??
c++로
UDP통신을 하는 쓰레드를 작성하고있는데 gdb로 디버깅시 아래와 같은 에러(?)가 나옵니다.
이게 무슨뜻인지...(대충보니까 현재 language가 C이다 모 이런뜻같은데..)
0x40035f56 in sendto (fd=7, buf=0x8055aa8, n=340, flags=0, addr=
{__sockaddr__ = 0x8055884, __sockaddr_at__ = 0x8055884, __sockaddr_ax25__ = 0x8055884, __sockaddr_dl__ = 0x8055884, __sockaddr_eon__ = 0x8055884, __sockaddr_in__ = 0x8055884, __sockaddr_in6__ = 0x8055884, __sockaddr_inarp__ = 0x8055884, __sockaddr_ipx__ = 0x8055884, __sockaddr_iso__ = 0x8055884, __sockaddr_ns__ = 0x8055884, __sockaddr_un__ = 0x8055884, __sockaddr_x25__ = 0x8055884},
addr_len=16) at wrapsyscall.c:222
222 wrapsyscall.c: No such file or directory.
in wrapsyscall.c
Current language: auto; currently c
그런 에러 메시지보다 소스를 올려 주시는게 분석하기 편할 것 같네요.
그런 에러 메시지보다 소스를 올려 주시는게 분석하기 편할 것 같네요.
세벌 https://sebuls.blogspot.kr/
source는 별 이상한점이 없읍니다.
소스는 별다른게 없구여..어떻게 해결은 했는데 맞는지 모르겠네여..
Makefile에서 제가 object를 만들때도 -D_REENTRANT를 줘어서 그런것 같군여..
thread쓰는데만 REENTRANT를 줘니 문제가 해결되었읍니다.
간략히
thread safe function library를 사용하겠다는 거죠
이 라이브러리를 reentrant library라고 하죠
/usr/lib/libc_r.a를 nm으로 열어보세요
nm -A /usr/lib/libc_r.a
잠자는 사자는 흔들어 깨운다.
댓글 달기