CnUnix

[알림판목록 I] [알림판목록 II] [글목록][이 전][다 음]
[ CnUnix ] in KIDS
글 쓴 이(By): backdrum (뒷   북)
날 짜 (Date): 2003년 8월 22일 금요일 오전 08시 40분 45초
제 목(Title): [재차질문]VC에서 타입 변환에 대해...



  위의 VC++ 에 대해 질문한 사람입니다.

  컴파일러 옵션을 변경하는 과정에서 타입 캐스팅 오류가 나서,

  char -> TCHAR로, strcpy->lstrcpyW 등으로 바꿨습니다.

  (기존 프로젝트에 #define UNICODE가 들어간 stdafx.h가 있어서

   .C에도 이부분을 적용했습니다.)

  그리고는 캐스팅 오류나는 것은 강제로 지정하고 실행시켰더니

  다른 분이 지적한 대로 기존에는 잘 돌던 프로그램이 100% 죽어버립니다.
 
  주로 

  "myprogram.exe의 0x77f867e6에 첫째 예외가 있습니다. 0xC0000005: 
0x002e002a 위치를 기록하는 동안 액세스 위반이 발생했습니다."

  "HEAP[myprogram.exe]: Heap block at 00882FD8 modified at 00883016 past 
requested size of 36
myprogram.exe의 0x77fa144b에 처리되지 않은 예외가 있습니다. 사용자 중단점"

  이와 같은 에러입니다. multi thread 부분에서 문제가 생기는 줄 알았는데

   .c로 컴파일해 돌렸을 때는  '전혀' 문제가 없던 부분입니다.

   파일 확장자를 .c에서 .cpp로 바꾸고, define UNICODE 넣고 타입 변환하니까

   발생한 건데, 이 문제를 어떻게 해결해야 할까요? 

   빠짐없이 char를 TCHAR로 바꾸면 될줄 알았는데 그리 만만하지 않네요.


   일단 UNICODE에 대한 자료를 찾아보겠으나 급한 마음에 이곳에 재차

   질문올립니다.




  
  죽겠네.  ㅠ.ㅠ


[알림판목록 I] [알림판목록 II] [글 목록][이 전][다 음]
키 즈 는 열 린 사 람 들 의 모 임 입 니 다.