'MFC'에 해당되는 글 2건

  1. 2010.10.01 [MFC] Thread안에서는 CSocket 클래스를 사용하면 안된다?! (4)
  2. 2009.07.05 내가 비주얼스튜디오를 쓰게 되다니! (10)

[MFC] Thread안에서는 CSocket 클래스를 사용하면 안된다?!

이메일 보낼일이 있어서 코드 프로젝트에서 SMTP 코드를 배껴서 사용중이 었음

(원래 소스가 그렇게 되어 있었다오 -_- 쓰고 싶어서 쓴게 아님 ㅠㅠ

회사에서는 보통 c&p 디버깅 / 테스트가 일이라... 아 정말 싫다.)

그런데 이넘이 쓰레드 안아서 돌아가야할 필요가 있어서 않에 넣어서 사용하고 있는데

갑자기 뻑뻑 죽어버리는거임 - 아마도 MFC assertion? 에러 였던거 같은데...

디버깅 돌려보니깐 무슨 이름도 모르는 생판첨보는 MFC함수에 브포가 찍혀있고 -_-.....

함수스택타고 위로 올라가보니깐 CSocket.Create() 메소드 - 를 쓴 부분까지 올라오게 되더군여

이거 뭔소린가... 걍 싱글스레드 쓸땐 잘 작동하던 놈이 왜 이짓거리나...

분명히 그냥 socket은 thread-safe하다고 봤었는데 - 이상하다 -

그래서 구글링해 본결과 MFC버그라는 이야기도 있어서... 혹시해어 Create메소드만 고쳤는데

이렇게 하니깐 주소를 잘못참조했네 어쩌구 에러가.... 

그냥 그래서 (하라는대로?) 클래스에서 CSocket 멤버를 빼버리고

죄다  socket, send, recv, close 함수로 대체해버렸음 -_-...

-> MFC에서 Thread안에서 돌아가는 프로그램에서는 CSocket클래스를 쓰지말자??
(라고는 해도 아무리 봐도 그냥 땜질용 처방 같다 ;;; 원래문제는 따로 있을듯)

ps :  이부분에 대해서 좀 아시는 분은 댓글을. 뭐 자원을 더 할당하라 그런이야기는 있던...
Trackback 0 Comment 4
  1. Favicon of https://lsm1987.tistory.com BlogIcon 에그 2010.10.04 23:36 신고 address edit & del reply

    MFC ㄷㄷㄷ... 난해한 소스의 압박에 버틸수가 없다! 여서 OpenCV도 C#으로 래핑된 라이브러리 쓰고있지 OTL
    객체지향하라고 MFC 만들어놨는데 정작 소켓 클래스를 못쓰는건 무슨경우인가!!

    • lowid 2010.10.09 13:24 address edit & del

      뭐.... 예외처리 걸어놓은 이유가 있긴하겠지
      근데 문제는 내가 알수 없다는거... 위치를 봐도 도저히
      이해할수 없는 위치에 걸려있으니......
      어쨌던 thread내부에선 csocket안쓰기로 했다우..
      ps; 객체지향? 그게 뭐져?? ㅋㅋ 어짜피 그런거 신경쓰기보다
      "지금 일단 어떻게든 잘 돌아가면 된다" 마인드라 쩝...
      객체지향/유지보수는 신경도 안씀...
      이러면 안되는줄은 아는데...
      옆에서 그렇게 짜니깐 나도 걍 그렇게 짜버림..... 귀찮.

  2. Favicon of https://zeper.tistory.com BlogIcon zeper 2010.11.22 21:59 신고 address edit & del reply

    mfc 수업을 듣기는 했는데 C#으로 모든과제를 하다보니
    mfc 이야기는 하나도 모르겠네요.
    저도 OpenCVeh C#으로 된걸가지구 썼었던지라..ㅋ

    • Favicon of https://lowid.tistory.com BlogIcon Lowid 2010.11.26 00:18 신고 address edit & del

      저도 mfc 잘 모릅니당
      그냥 c&p나 할뿐....
      - 뭐... 반대로 전 C#을 모르잖아여? 그러니깐 서로 그게 그거......

내가 비주얼스튜디오를 쓰게 되다니!

한 일주일전만해도 전 (경멸하던?!)MFC로 일할거는 생각도 못했는데.............

뭐 어쨋던 원래 만들어진 소스로 하는것이니까 어쩔수가 없네여

작년에 했는거 생각을 더듬어가면서 할수밖에....

하도 야매로 대충배워서 기억나는건 별로 없지만..... 기억을 더 오래남기기 위해서 정리.

디버깅
선택 + F1 MSDN
F5 디버깅/실행/다음단계로
Shift + F5 디버깅 중지
F7 빌드만
ctrl + F7 컴파일
F9 브포(브레이크 포인트) 걸기
F10 디버깅, Step (line)

에디팅의 간단한것
(복사, 붙여넣기, 잘라내기, 저장하기, 열기, 새로만들기, 검색하기, 대체하기,되돌리기,되살리기 ) 패스

클래스 마법사
ctrl + w

설정(setting)
alt + F7


아직은 초짜라서 이정도만 알아도 별 불편함이 없는것 같아요.. 게다가 GUI DEV툴이라서 그런지

단축키 기능이 상당히 허접(?) 한듯해요 메뉴봐도 단축키 없는게 수두룩함.... vim의 빠른 속력(?)을 필요해서

vs6  + vim이랑 연동을 해봤는데... 별로 안좋더군여 vim창도 따로 나오고... 그래서 일단 그냥 있는대로 쓸예정

글구 MFC랑 Winapi랑은 꽤나 달라서... 아나 이거 api로 할수 있음 편할텐데.. 하는것도 몇개 있음...

뭐 먹히긴하지만 그래도 MFC는 클래스니깐 클래스기준으로 찾아야해서 어떤클래스가 어떤기능을 하는지

다 알아야할텐데 이거 찾는게 정말 죽을맛.. 대체 한두개여야지... MSDN이 있긴하지만 워낙에 방대해서..



아아 나의 리눅이는 갈수록 점점 멀어져 ㅜㅜ
... some code here ....
Trackback 0 Comment 10
  1. Favicon of https://khmirage.tistory.com BlogIcon 환상경 2009.07.05 17:07 신고 address edit & del reply

    Visual Assist 라는 툴을 설치해보세요 ㅋ
    VS6.0의 조악한 신택스 하일라이팅을 보안해주면서 여러가지 편리한 기능을 제공해줍니다'만'
    유료라는거 -0-

    • Favicon of https://lowid.tistory.com BlogIcon Lowid 2009.07.11 12:07 신고 address edit & del

      넵 그거쓰니깐 vim처럼 강조기능도 있구 좋더군여
      그런데 그거 Free인지가 애매해서.. ㅋ

  2. Favicon of http://blog.naver.com/jhpark9404 BlogIcon 없는국번 2009.07.05 20:03 address edit & del reply

    윈도우쟁이

  3. 자정거탐닉자 2009.07.10 08:37 address edit & del reply

    님도 이제 슬슬 MS의 마약 같은 맛에 길들여지기 시작 ㅇㅅㅇ

    • Favicon of https://lowid.tistory.com BlogIcon Lowid 2009.07.11 12:08 신고 address edit & del

      그렇다는... 마약에 길들여진다는..
      나닌 빌게이의 노예 ㅜㅜ

  4. Favicon of http://zeper.textcube.com/ BlogIcon zeper 2009.07.13 09:59 address edit & del reply

    배우워두면 어딘가 써먹지 않겠습니까?

    • lowid 2009.07.19 12:53 address edit & del

      그렇긴하겠죠?;

  5. Favicon of https://lsm1987.tistory.com BlogIcon 에그 2009.08.06 15:05 신고 address edit & del reply

    나같은 뉴비는 본격 마소 찬양 ;ㅁ;!!!

    • lowid 2009.08.07 16:35 address edit & del

      나도 마소 찬양(할수 밖에 없다 ㅜ)
      SEARCH, COPY, PASTE 도 찬양!!

prev 1 next