태터데스크 관리자

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

태터데스크 메시지

저장하였습니다.

달력

08

« 2017/08 »

  •  
  •  
  • 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
  •  
  •  

오랜만에 C++ 코드를 작성하고 있습니다. C#으로 WPF/Silverlight 만 다루다가 오랜만에 C++로 ATL/COM을 만지려고 하니 사소한 것에서 난관이 많네요. 툴도 바뀌기도 했고 말이죠. 오랜만에 C++을 쓰다보니 새로 알게 되는 지식도 생기는군요.

Visual C++ 2010 에서는 STL 컨테이너에 대해서 for each, in 구문을 사용할 수 있다는 걸 알게되었습니다. (MSDN 문서 항목을 보면 2005 버전부터 존재하긴 합니다.)

도입된 목적은 역시 C++/CLI 에서 IEnumerable 등의 형식을 순차적으로 처리할 때 C#의 foreach, in 구문과 동일하게 쓰기 위한 것으로 보입니다. 하지만 C++/CLI가 아닌 win32 프로그래밍에서 STL 컨테이너에 대해서도 사용할 수 있는 것이지요.

Visual C++ 2010 에서는 c++0x 표준안의 일부가 이미 포함되어 있기에 아래와 같이 별로 C++ 스럽지 않은 코드가 나오게 됩니다. (c++0x는 이제 ISO C++ 표준으로 승인이 되어 C++11 이라고 부르는 것이 정식입니다.)

	
        std::<CString, CString> _uriMap;
        std::list<CString>&& candidates = GetUriMappingCandidates(uri); // r-value reference
	CString foundKey;
	CString foundValue;
	for each (auto c in candidates)
	{
		auto it = _uriMap.find(c);
		if (it != _uriMap.end()) 
		{
			foundKey = it->first;
			foundValue = it->second;
			break;
		}
	}

C++11의 auto 키워드와, 비록 비표준 키워드이긴 하지만 for each 를 써주니까 STL 컨테이너를 두 가지나 사용하고 있는데도 예전처럼 콜론과 부등호가 난무하지 않고 코드가 깔끔해보여서 좋네요.

신고
Posted by wafe

댓글을 달아 주세요

2011.12.02 12:39

VS10x Code Map v2 - VS 2010 확장 기능 분류없음2011.12.02 12:39

며칠 전에 Visual Studio 2010에서 확장 기능 갤러리 구경하다가 인기 항목에 있길래 깔아봤는데 썩 괜찮습니다.

C# 작성할 때에는 깔끔하게 정리하려고 region 이라는 Preprocessor 블락을 많이 쓰는데요, 남이 만든 코드이거나 코드가 길어지면 어떤 영역들이 만들어져있는지 잘 찾기 힘들어서 정리하는 의미가 줄어들곤 했습니다.

그런 가려운 부분을 잘 긁어주는 확장 기능입니다. 코드 레이아웃을 잘 보여줘서 region의 활용도를 더 높여주고요, 추가로 메소드 바로가기 같은 걸 상단에 등록해서 코드 분석할 때에도 유용합니다.

신고
Posted by wafe

댓글을 달아 주세요

이전까지의 Visual Studio에서는 ATL Simple Object(ATL 단순 개체)를 만들 때 약식 이름을 넣어주면 모든 필드가 채워졌지만 Visual Studio 2010에서는 그렇지가 않아서 좀 당황스럽네요. 앞으로는 ProgID를 빠뜨리지 않게 신경써야 되겠습니다.


Visual Studio 2010에서는 보안상의 이유로 ProgID 를 자동으로 채워주지 않도록 했다고 하는데, 정확히 어떤 보안상의 이유인지는 저도 아직 파악을 못했고, 이러한 변화를 언급하고 있는 웹 페이지를 두 개 정도 찾았을 뿐입니다.

신고
Posted by wafe

댓글을 달아 주세요

2010.04.17 15:55

Visual Studio 2010 단축키 포스터 분류없음2010.04.17 15:55

드디어 Visual Studio 2010 의 단축키 포스터가 나왔다. 내 블로그에서 인기있고 인기가 오래가는 포스트가 Visual Studio 2008의 단축키에 대한 글이다. 그만큼 사람들이 단축키를 많이 찾는다는 증거라고 볼 수 있겠다.

이번에는 C#, C++ 외에도 VB와 F# 바인딩까지 나온 점이 특이하다. 다운로드 링크는 아래에.

신고
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로 하고 있어요.