태터데스크 관리자

도움말
닫기
적용하기   첫페이지 만들기

태터데스크 메시지

저장하였습니다.

달력

10

« 2017/10 »

  • 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
  •  
  •  
  •  
  •  
지난 스프린트부터 XML 문서화 주석을 충실히 작성하여 활용하기로 결정했다. 그러기 위해서 주석도 코드 리뷰 대상으로 포함시켜서 품질을 유지하기로 했다.

그리하여 Visual Studio의 XML 문서화 주석을 이용해서 MSDN 스타일의 도움말 파일을 만들어 내는 방법을 경민 씨가 자이닉스 개발부 블로그에 잘 정리해주었다.

신고
Posted by wafe

댓글을 달아 주세요

2008.11.23 00:31

VS 2010에서 개선되는 것들 분류없음2008.11.23 00:31

RSS를 둘러보다가 S.Somasegar가 쓴 C++ enhancements in VS2010이라는 블로그 포스트를 보았다. 세상에... 아직 VS 6.0을 쓰고 있는데 2010이라니. 이러다보면 VS 2020이 나올 날도 머지 않았겠다.

한국어판 MSDN에 따르면 S.Somasegar는 MS 개발부서의 총 책임자라고 한다.

 

사람 이름이... 정말 뭐라고 읽어야 할 지 모르게 생겼다.

이번에는 전체를 번역하기 보다는 원문에서 언급하고 있는 VS2010의 바뀐점에 대해서 간단히 요약만 해보려고 한다.


VS2010에서는 아주 큰 코드베이스를 가지고 작업하는 개발자들의 생산성을 높여주고자 한다. 큰 코드베이스를 다룰 때 발생하는 비효율성을 개선하기 위해서 IntelliSense 엔진의 아키텍처를 철저히 조사하여 개선했다. 이제는 아주 복잡한 의존성을 가진 소스를 수정한다고 해도 심볼 데이터베이스가 대규모로 업데이트 되는 일은 일어나지 않는다. 많은 곳에서 include 되는 헤더 파일을 자주 수정하거나 프로젝트 설정을 자주 바꾸는 Visual C++ 개발자라면 IDE의 응답성이 엄청나게 향상된 것을 알게 될 것이다.

빌드 시스템도 더 큰 규모의 프로젝트를 다룰 수 있도록 개선된다. VS2010의 MSBuild는 대규모의 복잡한 빌드 환경에 꼭 필요한 높은 커스터마이징 가능성과 확장성, 로깅을 제공한다. 확장성 기능 중에서 한 가지 예로 IDE에서 컴파일러 버전을 선택하는 기능을 들 수 있다. 원문에 첨부된 이미지에서 9.0 컴파일러(VS 2008)와 10.0 컴파일러를 선택할 수 있음을 보여주고 있다.

VS2010은 복잡한 코드베이스를 분석하는 작업을 도와주어 생산성을 높여주는 새로운 도구를 내장하고 나온다. 인텔리센스와 브라우징 기능들의 정확성과 복원력이 개선되었다. 새로운 헤더 의존성 도구는 복잡한 include 계층 구조에 대해서 더 상세한 내용을 찾을 수 있게 해준다. 새로운 Quick Search 기능은 특정 심볼이나 파일로 이동하는 작업을 매우 쉽게 해준다.

라이브러리와 C++ 언어 부분 개선의 핵심은 동시성 지원이다. VS2010에는 Parallel Patterns Library(PPL)가 도입된다. PPL은 멀티 코어 CPU의 장점을 살려 응답성 있는 C++ 응용프로그램을 만들기 위한 새로운 추상 계층을 제공한다. PPL은 병렬성을 표현하는 효율적인 방법과 새로운 비동기 메시징 API-응용프로그램의 응답성과 견고성을 증가시키는-를 제공한다. 또한 VS2010은 C++0x 표준의 새로운 언어 기능을 지원한다. 람다나 'auto' 키워드 같이, PPL을 사용하는 코드를 더 깔끔하고 유지보수하기 쉽도록 작성할 수 있게 해주는 기능이다.

마지막으로, Windows Vista와 Windows 7의 기능을 아주 쉽게 사용할 수 있게 해주는 MFC의 새 기능이 포함된다. 재시작 관리자(restart manager)는 MFC 응용프로그램이 예기치 않게 종료되었을 때 자연스럽게 이전 상태를 복구하는 기능이다. Task 다이얼로그는 문자로만 구성된 메시지 박스 대신 풍부한 사용자 인터페이스를 사용할 수 있게 해주는 기능이다.

여러 해 동안, C++ 개발자들이 Visual C++ 6.0을 사용하던 시기를 Visual C++ 도구의 영광의 날들이라고 언급하는 것을 들었다. 활기있고 생산성 있는 IDE를 그리워하는 개발자들이 많다. Visual C++ 2010으로 Visual C++ IDE의 생산성에 대한 새로운 기준을 만들려고 노력하고 있다.

Visual C++ 팀 블로그에서 새로운 정보를 얻을 수 있고, 개발팀과 직접 소통할 수 있다.

신고
Posted by wafe

댓글을 달아 주세요

  1. ntrolls 2008.11.23 03:58 신고  댓글주소  수정/삭제  댓글쓰기

    헉, 아직 회사에서 VS6 쓰나?

    • wafe 2008.11.23 17:26 신고  댓글주소  수정/삭제

      아직 3, 4 등등 제품들이 남아있어요. 플랫폼 변경은 워낙 큰 일이라서 말이죠. ^^ 새로하는 프로젝트들은 VS2008로 하고 있어요.

DirectShow 관련해서는 프로젝트 환경을 깔끔하게 세팅하기가 참 어려운 것 같다. 지난 번에는 Visual Studio 6.0에서 DirectShow 컴파일할 때 했던 삽질 얘기였는데 이번에는 VS 2005다.

DirectShow 필터를 만들려면 샘플 프로젝트 중에서 BaseClasses 프로젝트를 컴파일해서 strmbase.lib 를 만들어야 하는데, 주어진 상황에서 뭔가 쉽게 잘 안되는 문제가 있었다.

주어진 상황은

  1. Visual Studio 2005
  2. Windows Server 2003 SP1 Platform SDK
  3. DirectX SDK 9.0

2003 SP1 Platform SDK 에서는 DirectShow가 PSDK 쪽으로 옮겨졌다. 그리고 BaseClasses 프로젝트가 솔루션 파일을 갖고 있지 않다. 그래서 nmake 를 가지고 컴파일을 해야한다.

어쨌거나 컴파일을 하면 뭔가 잔뜩 에러가 나온다. VC++ 8의 변경 사항 중에, for 문의 시작 조건 부분에서 선언한 변수의 범위가 for 블럭만으로 제한되도록 바뀐 것 때문에 이런 에러가 나는 것으로 확인되었다.

그렇다면 Makefile을 수정하여 컴파일 옵션을 변경해야 한다. 간단히 Makefile을 열고 컴파일 명령이 있는 부분에 /Zc:forScope- 라는 옵션을 추가하면 된다.

한 고비 넘었다. 그리고 다시 컴파일을 하면 에러 갯수가 확 줄어드는 것을 볼 수 있었다. 남은 에러를 보면 대강 '타입이 지정되지 않았는데, 이제는 int 라고 가정해버리는 짓따위는 하지 않아' 정도의 변명이었다.

몇 군데 함수 리턴 타입이 지정되지 않은 곳에서 에러가 발생하는 것인데 이건 별도로 옵션이 있는게 아니라서 소스를 직접 고쳐야 한다. 주변 소스에 맞게 적절히 타입을 선언해주고 다시 컴파일하면 성공!

사실 그냥 다음 버전인 Windows Server 2003 R2 Platform SDK 만 깔아도 문제가 해결된다고 하는데, PSDK를 또 까는게 귀찮아서 이런 삽질을 했다. -_-;

신고
Posted by wafe

댓글을 달아 주세요

코드 리뷰를 하기 위해서 소스를 보고 있는데 틈틈이 봐뒀으면 더 좋을 걸 한 번에 보자니 이거 영 진도도 안나가고 끙끙...

아무튼 비주얼 스튜디오에서 코드 읽을 때 기본적으로 딱 두 가지 단축키만 알고 있으면 편하게 소스의 숲을 헤집고 다닐 수가 있다. 한 절반은 먹고 들어간달까.

  • F12 : Edit.GoToDefinition
  • Ctrl+Shift+8: View.PopBrowseContext

GoToDefinition을 해서 소스를 보면서 막 돌아다니다가 PopBrowseContext를 하면 바로 전에 GoToDefinition했던 곳으로 이동한다. GoToDefinition을 여러 번 수행했다면 PopBrowseContext도 여러 번 수행할 수 있다. BrowseContext라는 개념이 뭔지는 잘 모르겠는데 스택으로 관리되는 것 같다.

참고로 Visual Studio 6에서는 "Ctrl+Numpad *"로 PopBrowseContext를 실행할 수 있다. HHK에는 Numpad가 없어서 대략 낭패였는데 MS에도 HHK 사용자가 많은걸까? ^^;

비주얼 스튜디오를 처음 실행할 때 어떤 설정을 사용할 것인지 물어보는데, Default를 선택하면 C# 키바인딩을 사용하는 걸로 알고 있다. 다른 설정을 선택하면 이것과는 달라질 수도 있다. 지난 번 DevDays 2007 서울에서 나눠준 단축키 표를 보니, 숫자만 2005에서 2008로 바꾼 것처럼 보인다. 2005와 2008 사이에 단축키 변화는 없는 모양이다.

참고로 요즘 MS 행사 때마다 나눠주는 Visual Studio 2008 단축키 포스터의 PDF 파일 다운로드 링크.

신고
Posted by wafe

댓글을 달아 주세요

  1. bacteria 2009.11.02 11:18 신고  댓글주소  수정/삭제  댓글쓰기

    좋은 자료 감사히 잘쓰겠습니다

  2. smilebrain 2010.01.13 10:24 신고  댓글주소  수정/삭제  댓글쓰기

    덕분에 소스 코드 리딩하는데 도움이 많이 되네요 감사합니다 ^^

  3. Hybrid 2010.03.24 15:33 신고  댓글주소  수정/삭제  댓글쓰기

    출력할 것이 필요했는데, 덕분에 잘 얻어갑니다. +_+

    • wafe 2010.04.04 21:44 신고  댓글주소  수정/삭제

      도움이 되셨다니 기쁘네요. 예전에는 VS 2008 나오고 한 동안 오프라인 행사에서 많이 나눠줬었는데, 이제 2010이 나오니 또 많이 나눠주지 않을까 싶습니다. ^^

  4. 베리베리스트롱 2011.01.26 10:38 신고  댓글주소  수정/삭제  댓글쓰기

    오호 한번씩 해봐야겠네요 좋은 자료 감사합니다 ^^

2007.06.18 13:40

DirectX SDK에 얽힌 삽질 분류없음2007.06.18 13:40

DirectShow를 쓰는 프로젝트를 컴파일 할 일이 생겨서 DirectX SDK 2005 June Update를 설치했다. 그러나 컴파일 실패! DirectShow를 쓰려고 설치한 SDK에 DirectShow만 쏙 빠져있다니 이런 낭패가 있나.

What happened to DirectShow?를 보니 2005년에 나온 Windows Server 2003 SP1 Platform SDK부터는 DirectShow를 포함하게 되었고 따라서 DirectShow가 DirectX SDK에서 빠지게 되었다고 한다.

나는 Platform SDK를 2003 February 버전으로 쓰고 있었으니 자... 그럼 Platform SDK를 업데이트 해볼까? Windows® Server 2003 SP1 Platform SDK Web Install 페이지로 이동해보니 두둥!

The last SDK that will work with VC 6.0 is the February 2003 Edition, you can order a CD on the fulfillment site. Side by side installations are not supported.

VC++ 6.0을 지원하는 마지막 Platform SDK는 2003년 Feb 버전이라고 한다. 휴우... 자세히 읽어보길 잘했지.

Platform SDK 버전에 맞춰서 대략 2003년에 나온 DirectX 9.0 SDK를 찾아보니 2003년 10월 쯤에 나온 Summer 2003 버전이 있다. 이걸 설치하고 컴파일하니 OK!

도움될 만한 정보가 있을까싶어 구글 검색을 하다보니 비슷한 문제로 글을 남긴 사람이 있다. 이런 중요한 변경 사항이 있으면 어디 잘 보이는데 대문짝만하게 좀 써 붙이고 그랬으면 좋겠구먼. MS -_-+

신고
Posted by wafe

댓글을 달아 주세요

  1. U.Seung 2007.06.18 14:58 신고  댓글주소  수정/삭제  댓글쓰기

    이런 삽질을 안해도 되는 세상이 오면 참 행복할텐데 말이죠. ㅎㅎ

  2. 노헝그리 2007.06.18 15:57 신고  댓글주소  수정/삭제  댓글쓰기

    개발자와 삽질은 뗄레야 뗄 수 없는 관계인 것 같습니다.ㅎ

  3. INVICTUS 2007.06.21 16:45 신고  댓글주소  수정/삭제  댓글쓰기

    아아악;ㅁ;!!!!!내 이틀에 걸친 노력은!!

    • wafe 2007.06.24 22:16 신고  댓글주소  수정/삭제

      크... 제가 좀 더 일찍 글을 썼으면 더 나았을까요?

      동업자들의 정신적 건강을 위해서라도 삽질은 자랑할 만한 일이라는 생각이 문득 듭니다.

  4. maximus 2007.10.12 21:21 신고  댓글주소  수정/삭제  댓글쓰기

    VC6.0 호환 되는 마직 SDK들입니다.

    Platform SDK : Windows Server 2003 PSDK (February 2003)
    DirectX SDK : DirectX 9.0 SDK Update - (Summer 2004)



티스토리 툴바