[질문] C에관한 몇가지 예외 사항
글쓴이: dummy999 / 작성시간: 수, 2003/07/16 - 11:09오후
정보처리 기사 c실기 영진출판사꺼 보면
문자열을 처리하기위해 static char을씁니다.
왜 static를 쓰며 안쓸때와는 어떻게 다른건가요?
(예전에 질문을 했는데 답이 안올라와서 다시 질문합니다.)
또 이건 TC3.0 또는 XP에 관한 질문입니다.
xp에서 tc3.0을깔았습니다.
전에도 질문했는데 tc에서 화살키를 움직이면 블럭이 생성되면서 이동됩니다.
이거 해제하는방법을 알려주세요.
또 여기꺼 TC3.0을깔고 컴파일을 했더니 실행파일이 TCDEF.exe로 파일이 생성됩니다.
왜 그렇게 되는거죠? 해결할수있는방법을 부탁드립니다.
이건 VC에서 나오는 메시지상황입니다.
Loaded 'ntdll.dll', no matching symbolic information found. Loaded 'C:\WINDOWS\system32\kernel32.dll', no matching symbolic information found. The thread 0x340 has exited with code 0 (0x0). The program 'C:\C_IT\Data\Debug\1.exe' has exited with code 0 (0x0).
이건 정상적인 메시지는 아닌듯합니다. 알려주시면 감사를..
Forums:
그 메세지는 컴파일러에서 커널이 보내는 메세지에 대한 해당 메세지를 찾을
그 메세지는 컴파일러에서 커널이 보내는 메세지에 대한 해당 메세지를 찾을수
(System Symbol)없다는 얘기입니다.
windows2000을 사용하시면
microsoft.com사이트에서 커널 메세지에 대한 파일을 다운받아서 설치하시고
사실은 대부분 무시해도 됩니다.
(비주얼 스튜디오 6.0을 쓰시면 반드시 설치후 서비스팩5을 설치하시고
Symbol 기호 업데이트를 하시면 됩니다)
static 이란 말 자체가 정적으로 쓰인다는 것입니다.말 그대로
static 이란 말 자체가 정적으로 쓰인다는 것입니다.
말 그대로 입니다.
자주 쓰이는 형태가 아래와 같은 경우
char* mystr()
{
static char a[]="uhahahah";
return (char*)a;
}
int main()
{
char* p= mystr();
}
이렇게 할 경우 함수 호출마다 배열 정의가 계속 추가로 될것 같지만
실제로는 정적이기 때문에 함수 밖을 나오더라도 기억장소 기대로 값을 갖고 있습니다..
그래서 반환형 스트링에 static 이 많이 쓰입니다.
malloc 하면 리턴 받은곳에서 free 해줘야 하는데에 비교해서 말입니다..
또 static 국시적인 사용(결국 위와 같은 말이지만)으로
signal 처리부분을 각 화일마다 다르게 주고 싶을때도 첨가해줍니다..
그럼 같은 함수이름을 갖고 있드라도 각각을 별개로 생각하고 처리를 해줍니다.
=================================
:: how about a cup of tea ? ::
=================================
댓글 달기