swprintf 질문입니다! (segment failure)
글쓴이: chiyo85 / 작성시간: 수, 2008/10/01 - 4:48오후
.
.
.
.
#define _L(x) L ## x
#define _W(x) _L(x)
wchar_t bufw[32];
swprintf(bufw, _W("test_%d_%s"), 1024, _W("string"));
bufw 에는 test_1024_string 가 담겨있어야 하는데
저대로 하면 swprintf부분에서 segment failure 가 나버리네요.
1024부분을 아래와 같이 바꿀 경우
swprintf(bufw, _W("test_1024_%s"), _W("string"));
segment failure는 안나지만 bufw에 달랑 s만 들어가구요....
이것때문에 아주 죽겠습니다 ㅠ 도와주세요오!!! ㅠㅠ
ps. win32에서는 문제없이 잘 돌아갑니다~ 수행환경은 우분투에서 개발툴은 codeblocks를 사용하고 있습니다.
.
.
.
.
Forums:
더욱 중요한 정보가 빠졌습니다.
> rpm -qa glibc
1. 단순디버그
> gcc -g 옵션을 주고 valgrind 로 돌려본다.
2. 복잡디버그
> glibc 소스를 받아서 -g 옵션으로 컴파일후, /lib or /usr/lib 에 있는 glibc 심볼링크를 교체한후에 valgrind 로 돌려본다. 아니면 LD_LIBRARY_PATH를 변경해서 디버그용 glibc로 붙도록 한다.
3. 소스리뷰
> 해당버젼 glibc 소스를 받아서 본다. 아니면 본인의 소스를 리뷰한다.
Hello World.
답변 감사합니다.
..
maxlen 과 format 의
maxlen 과 format 의 위치가 바뀌었습니다.
추가.
컴파일 때 별다른 경고가 없는 원인을 알봤는데... c99 에서 정의된 함수인 것 같습니다.
-std=c99 로 컴파일 하면 원형과 틀린 argument 에 대해 경고가 출력됨을 확인하실 수 있습니다.
OTL
답변 감사합니다.
..
역시 남자는 맨!!
> man
Hello World.
여자인데
그럼 woman 입니까
댓글 달기