My Study/Programming&Theory2013. 5. 23. 10:21

새로운 데스크탑에 Visual Studio를 설치하고 약간의 코드를 짜고 있었습니다.

평소처럼 테스트를 위해 getch() 함수를 사용해 돌려보려고 했는데 컴파일 에러가 나더군요.


error C4996: 'getch': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _getch. See online help for details.


지금껏 코딩하면서 보지못한 에러였습니다.

에러를 해석해보면

이 항목에 대한 POSIX 이름은 더이상 사용되지 않는다고 합니다. 대신에, ISO C++ 준수하는 이름을 사용하라네요 : _getch.


POSIX는 유닉스 OS에 기반을 두고 있는 표준 OS 인터페이스입니다. 이 때 사용된 함수 이름들은 사용 못하게 하는건가요??..


아무튼 아래와 같은 전처리문을 사용해주면 이러한 에러는 발생하지 않습니다.


# if defined(_MSC_VER) // Virtual C++ 버전

// _CRT_SECURE_NO_DEPRECATE 가 선언되어 있지 않으면 선언

# ifndef _CRT_SECURE_NO_DEPRECATE

# define _CRT_SECURE_NO_DEPRECATE (1)

# endif

# pragma warning(disable : 4996) // 4996 경고 비활성화

# endif



'My Study > Programming&Theory' 카테고리의 다른 글

Windows Clipboard : GetClipboardData  (2) 2013.06.06
Windows Clipboard : OpenClipboard  (2) 2013.06.03
ERROR C4996  (8) 2013.05.23
Bug Check 0x9A : SYSTEM_LICENSE_VIOLATION  (2) 2013.05.04
Windows Session, Station, Desktop  (2) 2013.05.01
Windows 7 PID는 어디서 결정되는가?  (1) 2013.03.17
Posted by sharememory

댓글을 달아 주세요

  1. 승인해라

    가능성은 좀 낮을 거 같지만 나중에 사용 못하게 될지도 모르지..

    2013.05.23 16:33 [ ADDR : EDIT/ DEL : REPLY ]
  2. Virtualizer

    안녕하세요.
    제가 요즘 프로세스 보호기법에 대해 공부하고 있는데요.
    Windows 7에서 보면 System, Audiodg.exe 가 “inaccessible from user mode” 라고 나오는데
    이런 프로세스는 어떻게 만들수 있는지 알고 싶어 질문올립니다.
    그리고 보안 제품들도 대체로 프로세스를 이런 상태로 만들어 보호하는것이 일반적인 사례가 아닌가요.
    원리적인 설명을 좀 부탁드립니다.

    2013.05.30 12:45 [ ADDR : EDIT/ DEL : REPLY ]
    • 조금 더 자세한 설명이 필요합니다.. Audiodg.exe는 그냥 종료가 되더군요. 어떠한 경우에 저런 메시지가 발생하는지 자세히 설명해주시면 한번 해보겠습니다. 백신들 같은 경우는 자기 프로세스 핸들을 못얻게 하는 방법을 많이 사용하구요. 아바스트 같은 경우는 단순히 SSDT의NtOpenProcess 후킹해서 막는 방법이 아닌 핸들 테이블 조작? 을 통해 막는 것 같더군요. 이처럼 백신들마다 막는 방법은 다양하겠지요.

      2013.06.04 09:16 신고 [ ADDR : EDIT/ DEL ]
  3. 익명

    비밀댓글입니다

    2013.06.03 22:50 [ ADDR : EDIT/ DEL : REPLY ]
    • 제가 네이트온을 잘 하진 않습니다...
      sonicpj@nate.com <- 여기로 궁금한 점을 메일로 보내주시면 답장해보도록 하겠습니다.

      2013.06.04 09:18 신고 [ ADDR : EDIT/ DEL ]
    • 비밀댓글입니다

      2013.06.04 10:36 [ ADDR : EDIT/ DEL ]
  4. 좋은 정보 감사합니다!

    관리자의 승인을 기다리고 있는 댓글입니다

    2014.03.29 22:15 [ ADDR : EDIT/ DEL : REPLY ]