E D R , A S I H C RSS

VisualStudio (rev. 1.1)

Visual Studio

VisualStudio 는 Microsoft 에서 개발한 Windows용 IDE 환경이다. 이 환경에서는 Visual C++, Visual Basic, Visual C# 등 여러 언어의 개발환경이 함께하며, 최신 버전은 Visual Studio 2012 가 있다.

2005년 11월에 VisualStudio2005가 발매되었고, 2012년 9월에 VisualStudio2012가 판매되기 시작했다.

DeleteMe) .net 2005 beta3 까지 본것 같은데...
DeleteMe) .net 2005 발매기념 대규모 행사(설명, 시연, 세미나)가 예정에 있습니다. 사전 신청을 받더군요. 11월에는 확실히 나올듯.


학교에서는 저학년에서 비교적 VisualC++ 6.0을 많이 사용하며, 최신 버전으로 이동하는 추세이다.

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 : Intel 라이브러리 연결 요령

    Valid XHTML 1.0! Valid CSS! powered by MoniWiki
    last modified 2021-02-07 05:28:22
    Processing time 0.1123 sec