'Visual Studio'에 해당되는 글 2건

  1. 2009.01.16 Visual Studio
  2. 2009.01.14 Visual Studio에 Guideline 보이게하기

Visual Studio

TIPs 2009. 1. 16. 12:24
__declspec (novtable)
원문 : Component Development with Visual C++ & ATL

추상적인 클래스의 생성자에서 초기화된 가상 함수 테이블 포인터는 파생 클래스의 생성자에 의해 다시 한번 덮어 씌여 지게 되므로 필요없게 된다.
따라서 ATL_NO_VTABLE 매크로가 지정될 때 링커는 가상 함수 테이블과 가상 함수를 없애고 가상 함수 테이블 포인터를 적절하게 초기화할 수 있게 된다.
기본적으로 ATL Object Wizard가 생성한 클래스에는 ATL_NO_VTABLE 매크로가 지정되어 있다. 그러나 클래스의 생성자에서 가상 함수를 호출하지 않도록 주의해서 사용해야 한다.
클래스 생성자에서 가상 함수를 호출해야 할 경우가 필요하다면 이 코드는 FinalConstruct 멤버 함수에서 처리해햐 한다. FinalConstruct 멤버 함수가 호출되는 경우에는 이미 COM 객체 클래스의 인스턴스가 생성되어 초기화가 된 상태가 되므로 안전하게 가상 함수를 호출할 수 있게 된다.



#pragma

예) 임시로 경고 끄기
#pragma warning(push)
#pragma warning(disable:4483)
...
#pragma warning(pop)



환경 변수 설정


C:\Program Files\Microsoft Visual Studio 9.0\VC\bin\vcvars32.bat



[속성] 페이지에서 만들어진 매크로 ( Inside Microsoft Visual Studio .NET )


 매크로  설명

 ConfigurationName  현재 프로젝트 구성

 DevEnvDir  Visual Studio .NET 설치 폴더

 FrameworkDir  .Net Framework 설치 폴더

 FrameworkSDKDir  .Net Framework SDK 설치 폴더

 FrameworkVersion  .Net Framework 버전 번호

 Inherit  Visual Studio .NET이 만든 명령줄에서 상속된 속성의 순서

 InputDir  입력 파일 폴더는 프로젝트 파일 폴더와 같다

 InputExt  입력 파일의 확장자

 InputFileName  입력 파일의 이름 (이름 + 확장자)

 InputName  입력 파일명

 InputPath  입력 파일 경로

 IntDir  중개 파일(Intermediate file) 경로

 NoInherit  속성이 상속되지 않게 한다.

 OutDir  출력 폴더

 PlatformName  Win32 또는 .NET인 프로젝트 플랫폼의 이름

 ProjectDir  프로젝트 파일이 있는 폴더

 ProjectExt  프로젝트 확장자(.vcproj)

 ProjectFileName  프로젝트의 전체 이름

 ProjectName  프로젝트의 이름

 ProjectPath  프로젝트 파일의 전체 경로

 RemoteMachine  원격지 컴퓨터(원격 디버깅을 하는 경우)

 SolutionDir  솔루션 파일이 있는 폴더

 SolutionExt  솔루션 파일의 확장자(.sln)

 SolutionFileName  솔루션의 전체 이름

 SolutionName  솔루션의 이름

 SolutionPath  솔루션 파일의 전체 이름

 TargetDir  프로젝트의 Output 폴더

 TargetExt  출력 대상의 확장자

 TargetFileName  대상 파일명

 TargetName  대상의 이름

 TargetPath  대상의 전체 경로

 VCInstallDir  Visual C++ .NET 설치 폴더

 VSInstallDir  Visual Studio .NET 설치 폴더



빌드 이벤트

빌드 이벤트 폴더를 사용해서 빌드 프로세스 중에 어플리케이션과 스크립트를 실행할 수 있다.
대상 폴더를 여는 예 : Explore.exe $(TargetDir)



프로젝트 종속성 설정

프로젝트 종속성을 설정하면 두 가지가 보장됩니다.
첫째, 특정 프로젝트에서 필요로 하는 종속 파일을 항상 찾을 수 있도록 프로젝트들이 정확한 순서로 빌드됩니다.
둘째, 종속 프로젝트의 출력 디렉터리가 암시적으로 경로에 추가되어 링크 타임에 해당 파일을 쉽게 찾을 수 있습니다.
원문 : http://msdn.microsoft.com/ko-kr/library/ms235517.aspx



컴파일러 옵션

/RTCn : 런타임 에러 확인
최적화된 /O 빌드와 함께 사용되지 않는다.
/RTCs(스택오류), /RTCu(초기화되지 않은 변수 사용), /RTCc(작은 변수와 배열에 더 큰 데이터를 할당)

/GS : 버퍼 오버런 확인

/GL : 프로젝트에 대해 전체 프로그램의 최적화를 실시

/MP : 멀티 프로세서를 이용하여 빌드




:

Visual Studio에 Guideline 보이게하기

TIPs 2009. 1. 14. 22:45
[HKEY_CURRENT_USER]\Software\Microsoft\VisualStudio\8.0\Text Editor

Create a string value called
Guides
 
Set Guides to the following
RGB(x,y,z) n1,...,n13
Where x,y,z are the RGB values and n is the column number.  
You can have at most 13 guidelines.
 
For example,
Guides = RGB(128,0,0) 5, 80
will place a Red guideline at column numbers 5 and 80.

: