사는게 힘들구만

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

TAG CLOUD

  • Total hit
  • Today hit
  • Yesterday hit

'프로그램'에 해당되는 글 21건

  1. 2009.09.03
    생년을 이용한 나이 연도 계산
  2. 2009.09.03
    VS6에서 VS.NET으로 변환시에 생기는 문제점들 및 해결 방안
  3. 2009.09.03
    error - BK1506
  4. 2009.09.03
    VC 2005으로 업그레이드시 컴파일경고
  5. 2009.09.03
    Visual C++ 6.0을 Visual C++2008 로 업그레이드(컨버팅)할때 주의 사항
  6. 2009.09.03
    [팁] ....
  7. 2009.09.03
    VC2008을 이용한 게임개발 - Game Creator GDK
  8. 2009.09.03
    VC++ 6.0을 쓰지 말아야하는 이유
  9. 2009.07.21
    프로그램 오류가 발생했을 때 사용할 디버거 지정하기
  10. 2009.06.03
    [Tip] 유용한 팁

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

VC2008 에서 VC2005 로 다운그레이드 하기
http://sore.egloos.com/3758743

VC2005에서 VC6의 클래스 위자드 처럼 사용하기
http://wyseburn.tistory.com/85

VC2005 에서 덤프파일 생성 및 읽기
http://blog.daum.net/ohkuetai/1933131


VC2005 에서 인텔리센스 기능 중지 시키기
VC++ 8 
설치된 경로에서 ....\VC\vcpackages\feacp.dll 를 제거하면 됩니다.
C:\Program Files\Microsoft Visual Studio 8\VC\vcpackages\feacp.dll

VC2005에서 인텔리센스속도 높이기...
http://gpgstudy.com/forum/viewtopic.php?p=65583

VS2005 단축키 모음
http://blog.naver.com/linaj/110030088263

OGG 라이브러리 컴파일 방법 (VC2005)
http://blog.naver.com/way133/60045530884


Team System이 아닌 Visual C++ 2005/2008에서 코드 분석(Code Analysis) 사용하기
http://scarletblue.net/147


VC2005 Refactoring 자동화 기능 소개
http://blog.naver.com/oyukihana?Redirect=Log&logNo=60013009406



VC6 / VC2005 구별방법?
VC6 dll 과 VC2005 dll 을 따로 만들어 관리해야 합니다
소스 안에서 #ifdef 문등을 써서 VC6 과 VC2005 를 구별할 수 있는 방법이 있나요?

_MSC_VER 이 어떤 값으로 define되어 있는지 확인하시면 됩니다.
알려진 바에 의하면..
6.0 인 경우 1200 이상, 2005인 경우 1400 이상이라고 합니다.


LNK1104: 'LIBCD.lib' 파일을 열 수 없습니다
http://blog.naver.com/gegabal?Redirect=Log&logNo=90028638986



POINTER_64에 대한 정의 누락
stdafx.h에 다음 같은 문구를 추가해 줬습니다.
#if (_MSC_VER >= 1300)
#define POINTER_64 __ptr64
#else
#define POINTER_64
#endif


[MSDN 세미나] 2008년, Visual C++와 MFC의 변화 따라잡기
http://blog.naver.com/pavonine116/50028675081




VisualC++ 팁
VisualC_TipsAndTricks.doc는 Visual C++에 대한 Tip이며,
Win32 Tips and Tricks.doc는 대체로 Windows Programming 관련 내용입니다


'프로그램 > Tip' 카테고리의 다른 글

[Tip] 휴지통 비우기 관련  (0) 2009.09.29
[Tip] 유용한 팁  (0) 2009.06.03
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
drwtsn32.exe 를 기본 디버거로 사용할경우
시작->실행 -> drwtsn32 -i

시작->실행 ->regedit
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug
Auto = 1 (자동선택)
Debugger = 디버거 path

vc6 로 할경우 : Debugger 값에 아래 입력
"C:\Program Files\Microsoft Visual Studio\Common\MSDev98\Bin\MSDEV.EXE" -p %ld -e %ld


'프로그램 > 디버깅' 카테고리의 다른 글

디버깅 문서들  (0) 2009.09.29
쓰레드 쪽 디버깅시 멈추는 현상  (0) 2009.06.03
AND
블레이크 포인트 ( F9  ) 에셈 : --asm int 3 
사용후 지워야 되는 됨.

'프로그램 > Tip' 카테고리의 다른 글

[Tip] 휴지통 비우기 관련  (0) 2009.09.29
[팁] ....  (0) 2009.09.03
AND

ARTICLE CATEGORY

분류 전체보기 (109)
컴퓨터 (38)
프로그램 (21)
모바일 (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