2013-09-22 4 views
0

VS2010 C++을 사용하고 있습니다.C++ 회선을 껐다 켜십시오

디버깅 이유로 나는이 같은 라인을 주석 처리 한 :

ms+=t.getElapsedTimeInMicroSec(); 

내가 모든 타이머 라인을 포함 할 때 이제

//timer:ms+=t.getElapsedTimeInMicroSec(); 

되었다, 나는 단순히 텍스트 모두를 교체하고 교체 할 " // timer : "를 빈 문자열로 지정하면이 모든 행이 다시 활성화됩니다. 그러나 모든 줄에 "// timer :"를 다시 포함 할 방법이 없습니다.

내가 대신

#ifdef _MYVAR 
     ms+=t.getElapsedTimeInMicroSec(); 
#endif 

사용할 수 있지만 그건 내 코드를 훨씬 덜 읽을 수 있도록합니다.

내 문제에 대한 간단한 해결책이 있습니까? 예를 들어 스위치를 활성화하거나 비활성화하기 위해 각 줄 앞에 넣는 스위치가 있습니까?

+0

로 교체 할 수 있습니까? (릴리스 빌드 모드에서는 사용할 수 없음) –

답변

4
/*timer*/ // ms+=t.getElapsedTimeInMicroSec(); 

이제 검색 "/*timer*/""/*timer*/ //"을 대체 할 수 있습니다. 그런 다음 "/*timer*/"을 검색하여 "/*timer*/ //"으로 바꿉니다.

0

코드를보다 읽기 쉽게하려면 regex search (Regular Expressions)를 사용할 수 있습니다.

ms+=t.getElapsedTimeInMicroSec(); //TIMER 

같은 회선을 사용하고 (.*) \/\/TIMER 검색하고 //($1) //TIMER

//(.*) \/\/TIMER에 대한 제거 검색 교체하고`assert` 만족 하는가 ($1) //TIMER

+0

대체 RegEx의 구문에 대해 100 % 확실하지 않습니다. –

관련 문제