Visual Studio 에서 C++ 프로그램 작성시 자동 생성을 하면 딸려오는 소스중에 stdafx..h cpp 가 있습니다.

stdafx 는 찾아보니 Standard Application Freamworks 약자로 MS에서 제공하는 자잘한 라이브러리 체계라고 하는군요.

 

그럼 이게 왜 중요하냐면, 매회 부분 수정으로 전체 소스를 컴파일 하는것은 엄청난 시간 낭비 입니다.

곰곰히 생각해 보면, 반에서 한명이 전학 갔다고 전교생 목록 리스트를 재 작성하는것은 바보 같은 짓이죠.

 

그래서 VC는 미리 작성한 컴파일 오브젝트를  pch (PreCompiled Header)로 저장하고 이를 활용합니다.

 

그런데, 보통 작업중 소스 파일을 부분적으로 폴더에 나눠 넣기도 하는데,

이러면 stdafx.h 파일에 대해 아래와 같은 에러 메시지가 나옵니다.

 

"Did you forget to add '#include "stdafx.h"' to your source?"

 

곤란 하게 되었습니다.

Util/Clock.h 파일을 만들었는데 stdafx 는 상위 폴더에 있으니

#include "../stdafx.h" 로 하지 않으면 컴파일이 안됩니다.

 

 

 

그러면 미리 컴파일된 헤더를 끄면 어떻까요?

 

 

 

 

 하지만 폴더를 나눌정도로 소스 파일이 방대해진다면, 미리 컴파일된 헤더를 안쓴다고 할때,

처음 말씀드린것 처럼, 전학생 1명이 왔다고 전교생 학생부를 고쳐야 하는 (부분 수정으로 전체 컴파일 하는) 바보 같은 짓을

컴퓨터가 하겠죠..

ssd니 옥타 코어니 해도 시간이 걸리기 마련입니다.

 

그러면 어떻게 하면 좋을까요?

 

우선 컴파일러가 하라는데로 해줍니다. 아래와 같이요.

 

 

그리고 VC++ 디렉터리 중 포함 디렉터리에 $(SolutionDir) 또는 $(ProjectDir)를 추가해 줍시다.

 

 

 

 

 

이렇게 하면, 컴파일 에러도 없고, 미리 컴파일된 헤더를 사용하면서

폴더별로 소스를 나눠 관리 할 수 있습니다.

 

 

 

비주얼 스튜디오 프로젝트에서 svn 관리시

akhn svn 을 못쓸경우 직접 폴더가서 svn add 하는데, 쓸떼 없는 파일들도 선택되어 들어갑니다.

이럴땐 setting 설정의 global ignore pattern 에 아래를 추가 하면 됩니다.


*.o *.lo *.la *.al .libs *.so *.so.[0-9]* *.a *.pyc *.pyo __pycache__ *.rej *~ #*# .#* .*.swp .DS_Store

*.sdf *.obj *.pdb *.pch *.log *.idb *.sdf *.tlog *.ipch




이 이전에 소개한 vim 컬러 생성 사이트가 있다면, visual studio 역시 같은게 있더군요.


http://frickinsweet.com/tools/Theme.mvc.aspx



회사에서는 vim 으로 프로그래밍을 하는데, 컬러가 너무 강한색이라 그런지 일이 끝나면 언제나 충열되더군요


그래서 vim 색상을 눈에 피로하지 않는 스키마로 바꾸는데 좋은 사이트가 있어서 소개합니다.


1. http://bytefluent.com/vivify/



2. http://www.vimtax.com/


3. http://sweyla.com/themes/


역시나 vim!

+ Recent posts