[C 질문] library에 따라 변수의 scope가 변경 되나요?
글쓴이: b612kid / 작성시간: 월, 2008/08/04 - 9:05오후
void set_str( char *buf ) { strcpy( buf, "Hello set str"); } int main() { char buf[1024+1]; memset(buf, 0x00, sizeof(buf)); set_str( buf ); printf("[%s]\n", buf); exit(0); }
위의 소스를 하나의 파일에 넣고 컴파일 하면 예상한데로 "Hello set str" 출력됩니다
그런데 set_str를 shared library 만들어 넣고 했더니 쓰레기 값이 출력됩니다
library에 따라 변수의 scope이 변하는 것 같은데 관련된 내용을 아시분은 설명 좀 부탁합니다
더불어 static library와 dynamic call 상황에 대해서도 아시면 설명해주세요
Forums:
shared lib 에 해당하는
shared lib 에 해당하는 set_str function 을 넣어 두신뒤 새로 짠 다른 main 이나 함수에서 어떻게 호출했는가 보고 싶습니다.
scope 라고 부를 만한건 상수 문자열 밖에 없는데, 저 부분을 봐서는 scope 문제라고 부를 만한것이 전혀 없어보입니다.
Neogeo - Future is Now.
Neogeo - Future is Now.
댓글 달기