사실 앞서 말한 command line 관련 글에서 이어 붙여도 되는거지만, 요즘 뭐 포스팅 할 것도 없으니.. ~.~
로 바꾼다. 그 후 ddeexec\(기본값) 의 내용을 공백으로 바꾼다. 마찬가지로 VisualStudio.cpp.9.0 안의 내용도 바꾼다.
나처럼 귀차니즘이 극에 달할 때, 컴파일하는데 IDE 툴을 켜야 하는 것에 귀찮음 느낄 경우 아주 편하다. (간단한거 테스트 해볼 때, 메모장에서 코딩하고, 저장하고, 더블 클릭....) 뭐, 말은 이렇게 해도, 아마 많은 사람들이 쓰고 있는 방법일 듯.
Registry 파일을 올릴까.. 했는데, 아무래도 VS 버전이 다르고 할테니, 그냥 방법을 적는게 나을 것 같다.
참고 1. 여기서는 c/cpp 파일을 컴파일하는 것만 생각함.
참고 2. 여기서 사용된 Visual Studio 는 2008, 즉 9.0 버전이다.
1. 먼저, 배치 파일을 만들어야 한다.
'C:\Program Files\Microsoft Visual Studio 9.0\vc\bin\' 이 안에 cl_batch.bat 라는 파일을 만들어서 아래의 내용을 넣는다.
@call "c:\Program Files\Microsoft Visual Studio 9.0\vc\bin\vcvars32.bat" > NUL
@"c:\Program Files\Microsoft Visual Studio 9.0\vc\bin\cl.exe" /EHsc %1 /Fe%1.exe
@pause
환경 변수를 설정하지만 '> NUL' 로 관련된 메세지를 출력하지 않는다. /EHsc 는 cl 옵션을 참고하면 되고, pause 를 이용해서 마지막에 에러나 어떤 메세지를 보기 위해서 잠시 멈춘다.
2. 레지스트리 변경.
regedit 를 실행시켜서, "HKEY_CLASSES_ROOT\VisualStudio.c.9.0\shell.Open" 안을 본다.
여기에 Command\(기본값) 의 내용을
"c:\Program Files\Microsoft Visual Studio 9.0\VC\bin\cl_batch.bat" "%1"
음... 끝났다. -_-ㅋ (포스팅 다 쓰고 나면 내용이 너무 간단해져서 느끼는 이 허무함....)
3. Console 프로그램 잠시 멈추기.
예를 들어 printf( "이바디의 호란 만세\n" ); 이런거 쓰고 바로 main 을 닫으면 프로그램 실행해도 바로 프로그램이 종료된다.
#include <conio.h> 를 해주고, main 함수 끝나기 전에, 'getch();' 이런거 하나 추가해주면 위의 @pause 와 같은 효과를 내준다. (이런 간단한건 왜 적는건지 -_-;;;)
아무튼 이렇게 하면, 위에 말한대로, 테스트 소스 하나 간단하게 메모장으로 작성하고, Explorer 에서 더블 클릭으로 컴파일 할 수 있다.
이걸 응용하면, 압축 프로그램으로 압축하듯이, 여러개의 파일을 다중 선택해서 한꺼번에 컴파일, 링크를 할 수 있을 것 같다. 거기까지 귀차니즘이 닿으면 그때 다시 포스팅을 해보도록 하겠다.
2010. 5. 27 수정 내용.
왜 처음 글을 쓸 때 이런 문제점을 발견했는지는 모르겠는데, 출력 파일의 위치가 엄한 곳으로 가는 문제가 있었다. (C:\windows\system32")
이 문제를 해결하기 위해
@"c:\Program Files (x86)\Microsoft Visual Studio 9.0\vc\bin\cl.exe" /EHsc %1
이 명령을
@"c:\Program Files (x86)\Microsoft Visual Studio 9.0\vc\bin\cl.exe" /EHsc %1 /Fe%1.exe
이렇게 바꾸었다. 문제는 test.cpp 가 test.cpp.exe 로 만들어진다는 보기 안좋은 문제가 있었지만, 일단 작동은 한다.







553929
299
432





댓글을 달아 주세요