사는게 힘들구만

블로그 이미지
by 아이즈원 짱

TAG CLOUD

  • Total hit
  • Today hit
  • Yesterday hit

'프로그램/VC'에 해당되는 글 9건

  1. 2009.09.03
    비주얼 스튜디오 단축키
  2. 2009.09.03
    WindowsNT 에서 소켓관련 조작하기(최대 소켓연결숫자늘리기)
  3. 2009.09.03
    생년을 이용한 나이 연도 계산
  4. 2009.09.03
    VS6에서 VS.NET으로 변환시에 생기는 문제점들 및 해결 방안
  5. 2009.09.03
    error - BK1506
  6. 2009.09.03
    VC 2005으로 업그레이드시 컴파일경고
  7. 2009.09.03
    Visual C++ 6.0을 Visual C++2008 로 업그레이드(컨버팅)할때 주의 사항
  8. 2009.09.03
    VC2008을 이용한 게임개발 - Game Creator GDK
  9. 2009.09.03
    VC++ 6.0을 쓰지 말아야하는 이유

 

일반 Editor 에서…

Ctrl + Space : 인텔리센스 출력

Ctrl + F5 : 빌드 후 프로그램 실행

F5 : Debugging 모드로 작동

F9 : Break Point

Ctrl + F2 : 북마크

F2 : 북마크로 이동

F10 : Debugging 모드로 작동하되 엔트리 포인트부터 시작

Ctrl + F10 : Debugging 모드로 작동하되 커서의 위치까지

Alt + F8 : 들여쓰기 정리

Ctrl + Shite + Space : 현재 가르키고 있는 함수의 매개변수 보기

Alt + B -> E : Clean

Alt + B -> R : Rebuild All

Ctrl + E : 현재 괄호랑 맞는 괄호를 찾아준다.

Alt + F7 : Project Setting

Ctrl + H : 바꿈

Ctrl + F : 찾기

Alt + E -> I : 여러파일에서 찾기

Ctrl + W : 클래스 위자드 (MFC 코딩시에만 사용)

Alt + 2 : output 윈도우

Alt + 0 : Workspace 윈도우

Alt + MouseMove : 컬럼 Selection

Tab 들여쓰기

Shift+Tab 내어쓰기

F4 다음 에러메세지로 이동

Alt+F8 들여쓰기 자동 조정

Ctrl+Shift+F8 열 블럭

Ctrl+F 찾기

Ctrl+F3 현재 커서에 있는 단어로 찾기

Ctrl+H 찾아 바꾸기

F3 다음 단어 찾기

Ctrl+Shift+F3 이전 단어 찾기

Alt+E+I 프로젝트 내의 모든 파일에서 찾기

Ctrl+] 괄호 짝 찾기

Ctrl+F2 북마크 설정

F2 설정된 북마크로 이동

F9 현재 커서위치에 BreakPoint를 설정/해제

Ctrl+B 브레이크 포인트 관리 메뉴

Ctrl+Spacebar 멤버목록 팝업창

Ctrl+T 현재 커서에 있는 단어의 툴팁정보 보기

Ctrl+U 모두 소문자로

Ctrl+Shift+U 모두 대문자로

Ctrl+Shift+8 Tab은 ^ 로 공백은 . 으로 보여줌

 

Debug 모드 작동중

F10 : Step Over (다음줄로)

F11 : Step Into (함수 안으로 들어감)

F5 : 다음 BreakPoint 까지 작동

Alt + 7 : Call Stack 윈도우

Alt + 3 : Watch 윈도우

Shift + F11 : 현재 루틴에서 빠져나온다.

Shift + F5 : 강제로 디버깅 모드 종료 

AND
AND

if ( att_age == 0 )
 {
     // 비공개 표시
     nAge = -1;
 }
 else
 {
      // 2000년 이후 자국, 외국인 번호
      if ( att_regid[6] == '3' || att_regid[6] == '4' || att_regid[6] == '7' || att_regid[6] == '8' )
      {
           int nBirthYear = 2000 + (att_regid[0]-'0') * 10 + (att_regid[1]-'0');
           if ( nCurrYear >= nBirthYear )
           {
            nAge = nCurrYear - nBirthYear; 
           }
           else
           {
                nAge = 0;
           }
      }
      // 2000년 이전 자국, 외국인 번호
      else if ( att_regid[6] == '1' || att_regid[6] == '2' || att_regid[6] == '5' || att_regid[6] == '6' )
      {
           int nBirthYear = 1900 + (att_regid[0]-'0') * 10 + (att_regid[1]-'0');
           if ( nCurrYear >= nBirthYear )
           {
                nAge = nCurrYear - nBirthYear; 
           }
           else
           {
                nAge = 0;
           }
      }
      else
      {
           nAge = 0;
      }

}

AND
AND

 

오류 내용 : 
BSCMAKE: error BK1506 : '.\Client___Win32_Debug_for_????????/Client.bsc'

 

컴파일 마지막 단계에서 위와 같은 링크 에러 발생

 

원인 :
오류 메시지 중 ???????? 부분이 한글이어서 발생 하는 것으로 추정됨

 

*.bsc 파일은 프로젝트에서 사용된 기호의 참조를 찾기 위해 생성하는 파일(MSDN 발췌)

 

해결 방법 :
Menu : Project -> Properties 하위 목록들 중에서 위 오류 내용과 비슷한 형식의 한글이 섞인 내용을 영문으로 적당히

수정하여 빌드하면 에러 사라짐.


위 방법대로 해도 사라지지 않는다면 Project 속성 어딘가에 한글 경로가 남아있는 것이므로 찾아서 수정해 주면 해결 된다.

AND

*  VC 2005으로 업그레이드시 컴파일경고 해결 방법

 

 

경고메세지는 대부분

http://msdn2.microsoft.com/ko-kr/library/ms235429(vs.80).aspx 를 참조하면 해결가능

http://msdn2.microsoft.com/ko-kr/library/wd3wzwts(VS.80).aspx 이것도 함께 살펴 보시길

 

간단하게는 _CRT_SECURE_NO_WARNINGS 를 선언해주거나 적절한 함수로 대처하면 됩니다.

 

 

for문 scope문제는

 

for(int i = 0; i < 10; ++i)

{

  ...

}

 

for(i = 0; i < 10; ++i)  <-- 에러

{

  ...

}

 

이와 같은 내용들인데,

 

VC6과의 호환성 문제등으로 인해 property -> C/C++ -> For Loop Scope 관련 옵션을 손보시면 됩니다.

 

 

템플릿 관련 소멸자/생성자 관련 문제는

 

http://msdn.microsoft.com/ko-kr/library/h0h57k4a.aspx 를 참조 하세요

AND

원문 : http://blog.naver.com/process3/20046659648

 

 

좀 더 정확하게 말씀드리면 Visual C++ 2005 / Visual C++ 2008 부터 ISO/IEC 9899:1999 또는 C99 로 불리는 새로운 Syntax를 지원하면서 기존 VC++ 6.0의 구세대 코드와 충돌되는 것들이 생겼습니다. 즉, 기존 Visual C++ 6.0을 사용하는 코드를 Visual C++ 2008 또는 (2005) 로 컨버팅 할때는 아래 사항을 고려하셔야 합니다.

 

[Convert 할떄 고려해야할 변경사항]
 
1. Exception Handling
   catch(...) 의 경우 옛날에는 C++ Exception 과 SHE 둘다 잡을수 있었지만
   이제는 unhandled C++ Exception만 잡을수 있답니다.
 
2. Pointer to Members' Addresses
   함수 포인터를 assign 할때 옛날에는 대충 함수명과 함수명 포인터를 섞어서 써도
   별 문제 없었는데 이제는 명시적으로 함수명에 &를 꼭 붙여야 한답니다.
 
3. The Scope of Variables Declared in a for-Loop
   본 메일에 첨부 명기된 문제인 AhnSDHelper에서 사용된 형태 (무지하게 많을것으로 판단됨..)가 된
   for 루프의 변수선언 scope 범위가 바뀌었습니다.  브레이스 안쪽에서만 먹습니다.
 
4. Defaulting to int
   별로 중요한것 같진 않지만..  완화된 규정으로 const 선언의 경우 int 타입을 따로 정하지 않아도
   자동으로 먹는답니다.
 
5. Type wchar_t
   wchat_t 타입이 기존에 typedef (unsigned short) 에서 built-in 타입으로 바뀌었답니다.
   그래서 unicode 변수의 경우 wchar_t로 바꾸는게 좀 더 명시적으로 표현하는 방법입니다.
   파라메타 오버로딩, 캐스팅등에서 사소한 문제를 일으킬수 있습니다.
 
6. Checked iterators
   별로 중요한것 같진 않지만..  STL에서 iterater의 용법을 좀더 엄격하게 검사한답니다.
   자세한건 각자 찾아보세요...
 
 
참고 문서
------------
 
출처 : 다년간의 프로그램밍 경험 및 동료연구원님으로부터...
AND

  Dark GDK 

 

  VC2008과 100%연동하는(MS의 지원을 받는) 무지하게 간단한 게임개발키트

 

  실프로젝트엔 제약이 많아서 못쓰겠지만서도 간단하게 테스트 베드용 정도로 개발하기 좋을듯...

    

  http://www.microsoft.com/express/samples/gamecreators/default.aspx

  http://gdk.thegamecreators.com/

AND

 http://minjang.egloos.com/1783328

 http://eslife.tistory.com/entry/유니코드로-개발하기

 http://eslife.tistory.com/entry/Visual-Studio-버전-별-STL-지원

 

원문 : http://nicejay.egloos.com/3575758

 


VC2005 배우기

밥먹고 사는것이 프로그래밍인데, 어느날 기본이 없다고 생각했다.
가끔 컴파일을 못하고 링크를 못한다.

컴파일은 그렇다치고..

Property Pages/Configuration Properties/C/C++ CodeGeneration탭에서 Runtime Library 설정

CRT(C Runtime Library)는 VS2005에서 싱글쓰레드 프로젝트 빌드 옵션을 뺐다.
LIB를 EXE에 붙이도록 Static 링크를 할 때는 /MT 옵션을 주어서 LIBMT.LIB가 링크하게 하고 DLL을 사용할 때는 /MD옵션을 주어서 MSVCRT.LIB를 사용하도록 한다. 여러 라이브러리를 붙일때는 LIB가 잘 맞도록 Additional Dependencies에 추가하거나, Ignore Specfic Library에 넣도록 한다.

DirectShow Library
Linker/input Additional Dependencies : Strmiids.lib를 추가

Unicode 설정
General/Character Set에 Use Unicode CharSet을 사용한다. 윈도우(XP)는 유니코드 시스템이나 C/C++은 Multibyte system이다. 즉 WindowAPI는 Unicode를 잘 지원한다. 가능한 Unicode로 시작하고, 외부로 뺄때만 Multibyte를 사용하는 것이 정신건강에 좋다.
외부 라이브러리와 함게 빌드할때는 Property Pages/C/C++/Languages의 Treat wchar_t as Built-in Type이 Yes와 No로 된 것  확인 할것.

디버깅
DLL에 브레이크 포인트를 걸었는데, 잡히지 않고 무시될때는 Tools/Options의 Debugging/General에서 "Require source files to exectly match the original version"을 끌것.
AND

ARTICLE CATEGORY

분류 전체보기 (109)
컴퓨터 (38)
프로그램 (21)
이슈트랙커 (0)
SVN (2)
VC (9)
DB (1)
Tip (3)
디버깅 (3)
오류 (1)
포토샵 관련 (1)
모바일 (14)
게임 (2)
자동차 (10)
자료실 (3)
건강 (4)
여행 (3)
정치 경제 (3)
기타 (7)
소녀시대 (1)

RECENT ARTICLE

RECENT COMMENT

RECENT TRACKBACK

CALENDAR

«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

ARCHIVE