VisualStudio 는 Microsoft ì—ì„œ 개발한 Windowsìš© IDE 환경ì´ë‹¤. ì´ í™˜ê²½ì—서는 Visual C++, Visual Basic, Visual C# 등 여러 ì–¸ì–´ì˜ ê°œë°œí™˜ê²½ì´ í•¨ê»˜í•˜ë©°, ìµœì‹ ë²„ì „ì€ [Visual Studio] 2012ì´ë‹¤. == ì—°í˜ == * 1998.06 Visual Studio 6.0 * 2002.02 Visual Studio .Net * 2005.11 [:VisualStudio2005 Visual Studio 2005] * 2007.11 Visual Studio 2008 * 2010.04 Visual Studio 2010 * 2012.09 Visual Studio 2012 DeleteMe) .net 2005 beta3 까지 본것 ê°™ì€ë°... DeleteMe) .net 2005 ë°œë§¤ê¸°ë… ëŒ€ê·œëª¨ 행사(설명, 시연, 세미나)ê°€ ì˜ˆì •ì— ìžˆìŠµë‹ˆë‹¤. ì‚¬ì „ ì‹ ì²ì„ ë°›ë”êµ°ìš”. 11ì›”ì—는 확실히 나올듯. ---- í•™êµì—서는 2008년까지만 í•´ë„ Visual C++ 6.0ì„ ë§Žì´ ì‚¬ìš©í–ˆìœ¼ë‚˜ 2008ë…„ 2í•™ê¸°ì— í™ë³‘ìš° êµìˆ˜ë‹˜ì´ Visual Studio 2008 ì‚¬ìš©ì„ ê¶Œí•œ ê²ƒì„ ê³„ê¸°ë¡œ ìµœì‹ ë²„ì „ í™˜ê²½ì´ ê°–ì¶”ì–´ì¡Œë‹¤. VisualC++ 6.0ì€ VS.NET ê³„ì—´ì— ë¹„í•˜ì—¬ ìƒëŒ€ì 으로 버그가 많다. ê°€ë” IntelliSense ê¸°ëŠ¥ì´ ì•ˆë 때가 많으며 í´ëž˜ìŠ¤ë·°ë„ ê¹¨ì§€ê³ , ì „ì²´ 재 컴파ì¼ì„ 필요로하는 ìƒí™©ë„ ë§Žì´ ë°œìƒí•œë‹¤. ( 혹시, Debug Modeì—ì„œ ëŒì•„가다가, Release Modeì—ì„œ ëŒì•„가지 않는 ê²½ìš°ë„ ìžˆëŠ”ë° ë³´í†µ ì´ëŠ” 프로그램ì—ì„œ 실수 태반ì´ë‹¤. 그러나 간혹 ë†’ì€ ìµœì 화로 ì¸í•´ ëŒì•„가지 ì•Šì„ë•Œë„ ìžˆì„ ìˆ˜ 있다. ) VisualStudio 를 ì‚¬ìš©í• ë•Œ 초기 í”„ë¡œê·¸ëž˜ë° ë°°ìš¸ë•Œ ìµí˜€ë‘어야 í• ê¸°ëŠ¥ë“¤ë¡œ, Debugger 사용, [Profiling], Goto Definition == Bug == === Class View ê°€ 안나올때 === === IntelliSense ê¸°ëŠ¥ì´ ì œëŒ€ë¡œ ìž‘ë™í•˜ì§€ ì•Šì„ë•Œ === ì¼ë‹¨ 프로ì 트를 닫는다. ì¼ë‹¨ xxx.ncb í™”ì¼ì„ ì‚ì œí•´ì¤€ ë’¤ 다시 프로ì 트를 열어준다. VisualAssist 를 사용한다면, Code Re-Parsing ê¸°ëŠ¥ì„ ì‹¤í–‰í•´ì¤€ë‹¤. == pragma once == C++ ì—서는 ìžë°”ì—ì„œì˜ import ì˜ ëª…ë ¹ê³¼ 달리 해당 í—¤ë”í™”ì¼ì— 대한 pre-processor ì˜ ê¸°ëŠ¥ìœ¼ë¡œì„œ 'include' 를 한다. 그러다 보니 해당 í´ëž˜ìŠ¤ë‚˜ 함수 ë“±ì— redefinition ë¬¸ì œê°€ ë°œìƒí•œë‹¤. ì´ë¥¼ 방지하는 방법으로 하나는 #ifndef - #endif ë“±ì˜ ëª…ë ¹ì„ ì“°ëŠ”ê²ƒì´ê³ 하나는 pragma once ì´ë‹¤. 다ìŒì€ ì˜ˆì œë¥¼ 참조. {{{~cpp #ifndef _CBOARDBASE_H_ // _CBOARDBASE_H_ ê°€ preprocessor ë¡œ ì„ ì–¸ë˜ì§€ ì•Šì•˜ì„ ê²½ìš° 추가ëœë‹¤. #define _CBOARDBASE_H_ class CBoardBase { protected: CBoardBase(); void initBoard(); . . #endif }}} ì´ëŠ” 다ìŒê³¼ ê°™ì´ í‘œí˜„ 가능하다. {{{~cpp #pragma once class CBoardBase { protected: CBoardBase(); void initBoard(); . . }}} 단, pragma ëª…ë ¹ì€ ì»´íŒŒì¼ëŸ¬ì— ë”°ë¼ ì§€ì›ì—¬ë¶€ê°€ 다르므로 ì‚¬ìš©ì— ëŒ€í•´ ìœ ì˜í• 필요가 있다. DeleteMe) once 외ì—ë„ #pragma ì— ê´€í•œ 다양한 ì˜µì…˜ë“¤ì´ ì¡´ìž¬í•œë‹¤. DeleteMe) #pragma 는 ê±°ì˜ í‘œì¤€ì— ê°€ê¹ë‹¤ê³ 어디서 본 것 같습니다;; == [Profiling] == [C++Profiling] == Debugger ì˜ ì‚¬ìš© == ì˜ì™¸ë¡œ Debugger 를 ì´ìš©í•˜ì§€ 않는 ì‚¬ëžŒë“¤ì´ ìžˆë‹¤. UnitTest 를 작성하면서 프로그래ë°ì„ 하지 않는다면, Debugger는 불가피하다. í•™êµ í”„ë¡œê·¸ëž˜ë° ìˆ˜ì—…ë•Œ ì •ì‹ìœ¼ë¡œ 가르치지 않기 ë•Œë¬¸ì— MSDNì´ë‚˜ 온ë¼ì¸ì˜ 강좌, ì•Œê³ ìžˆëŠ” 학우들ì—게 물어보아 배울수 있다. (More to come) === ì—¬ëŸ¬ê°œì˜ Project 를 사용하기 === ì˜ˆì œ : ProjectTheCell (현재 ì§„í–‰ì¤‘ì¸ Othello Project) (more to come) VS.net ì—서는 프로ì 트 ìƒìœ„ ê°œë…으로 ì†”ë£¨ì…˜ì´ ì¡´ìž¬í•©ë‹ˆë‹¤. (6.0ë„ ê·¸ëž¬ë‚˜? WorkSpaceë¼ëŠ” ë…€ì„ì´ ìžˆì—ˆë˜ë“¯... 아무튼~). 여러 프로ì 트를 í•œ 솔루션ì—ì„œ 관리하는 게 ìƒë‹¹ížˆ 편해 ì¡Œë”êµ°ìš”. 시작 프로ì 트를 ì„¤ì •í•˜ê³ , 프로ì íŠ¸ì˜ ì»´íŒŒì¼ ìˆœì„œë¥¼ ê²°ì •í•˜ëŠ” ì¼ë„ í• ìˆ˜ ìžˆê³ ìš”. === ë¼ì´ë¸ŒëŸ¬ë¦¬ íŒŒì¼ ë§í¬ 걸기 === 기본ì 으로 ì§€ì •ëœ ê²½ë¡œ ë°–ì—ì„œ ë¼ì´ë¸ŒëŸ¬ë¦¬ë¥¼ 사용해야 하는 경우가 있다. 몰ëžë‹¤ê°€ ë§í¬ë¥¼ ê±°ëŠë¼ 한참 ê³ ìƒí•œ ê¹€ì— ì—¬ê¸°ì— ì •ë¦¬í•´ë³¸ë‹¤. ==== VS 6.0 ==== * Project(프로ì 트) » Settings(ì„¤ì •)를 ì„ íƒí•©ë‹ˆë‹¤. * Link(ì—°ê²°) íƒì„ ì„ íƒí•©ë‹ˆë‹¤. * Category(ì¹´í…Œê³ ë¦¬) ë“œë¡ ë‹¤ìš´ 메뉴ì—ì„œ Input(ìž…ë ¥)ì„ ì„ íƒí•©ë‹ˆë‹¤. * Object/library(개체/ë¼ì´ë¸ŒëŸ¬ë¦¬) 모듈 부분ì—ì„œ ë¼ì´ë¸ŒëŸ¬ë¦¬ íŒŒì¼ ì´ë¦„ì„ ì¶”ê°€í•©ë‹ˆë‹¤. * ê·¸ë¦¬ê³ ë¼ì´ë¸ŒëŸ¬ë¦¬ 경로를 ì´ ë¼ì´ë¸ŒëŸ¬ë¦¬ë“¤ì˜ ìœ„ì¹˜ì— ì¶”ê°€í•´ì•¼ 합니다. Additional library path(추가 ë¼ì´ë¸ŒëŸ¬ë¦¬ 경로)ì— ë¼ì´ë¸ŒëŸ¬ë¦¬ 파ì¼ì´ 있는 í´ë”를 추가해 주세요. ==== VS.NET ==== * View(보기) » Solution Explorer(솔루션 íƒìƒ‰ê¸°)를 ì„ íƒí•©ë‹ˆë‹¤ * Tools(ë„구) » Options(옵션) » Projects(프로ì 트) » VC++ Directories(VC++ ë””ë ‰í† ë¦¬)를 ì„ íƒí•©ë‹ˆë‹¤. * Show directories for:(ë‹¤ìŒ ë””ë ‰í† ë¦¬ 표시:) ë“œë¡ ë‹¤ìš´ 메뉴ì—ì„œ Include Files(íŒŒì¼ í¬í•¨)를 ì„ íƒí•˜ê³ include 파ì¼ì´ 위치한 ë””ë ‰í† ë¦¬(예: C:\ë¼ì´ë¸ŒëŸ¬ë¦¬í´ë”\include)를 ìž…ë ¥í•©ë‹ˆë‹¤. * Show directories for:(ë‹¤ìŒ ë””ë ‰í† ë¦¬ 표시:) ë“œë¡ ë‹¤ìš´ 메뉴ì—ì„œ Library Files(ë¼ì´ë¸ŒëŸ¬ë¦¬ 파ì¼)를 ì„ íƒí•˜ê³ ë¼ì´ë¸ŒëŸ¬ë¦¬ 파ì¼ì´ 위치한 ë””ë ‰í† ë¦¬(예: C:\ë¼ì´ë¸ŒëŸ¬ë¦¬í´ë”\lib)를 ìž…ë ¥í•©ë‹ˆë‹¤. * Show directories for:(ë‹¤ìŒ ë””ë ‰í† ë¦¬ 표시:) ë“œë¡ ë‹¤ìš´ 메뉴ì—ì„œ Executable Files(실행 파ì¼)를 ì„ íƒí•˜ê³ 실행 파ì¼ì´ 위치한 ë””ë ‰í† ë¦¬(예: C:\ë¼ì´ë¸ŒëŸ¬ë¦¬í´ë”\bin)를 ìž…ë ¥í•©ë‹ˆë‹¤. * 기본 ë„구 표시줄ì—ì„œ Project(프로ì 트) » Properties(ì†ì„±) » Linker(ë§ì»¤) » Input(ìž…ë ¥)ì„ ì„ íƒí•˜ê³ "Additional Dependencies(추가 ì˜ì¡´ê´€ê³„)" í–‰ì— í•„ìš”í•œ ë¼ì´ë¸ŒëŸ¬ë¦¬ íŒŒì¼ (예: abcd.lib)ì„ ì¶”ê°€í•©ë‹ˆë‹¤. Reference : [http://support.intel.com/support/kr/performancetools/libraries/mkl/win/sb/cs-017282.htm Intel ë¼ì´ë¸ŒëŸ¬ë¦¬ ì—°ê²° ìš”ë ¹] ---- [ë„구분류]