프로젝트의 중첩 된 하위 폴더에 꽤 많은 소스 파일이 있습니다. 나는 대체하려고하는 4 가지 클래스를 가지며 할당 된 소스 (힙 + 스택)의 모든 위치를 찾으려고합니다.메모리 할당을 찾기위한 Regex/grep/findstr C++
불행히도 빈약 한 포함 구조로 인해 Visual Studio의 "전체 솔루션 검색"기능을 신뢰할 수 없으므로 소스 파일 내에서 수동 검색을 사용했습니다.
"new CLASS1("
힙에 대한이 세 가지 토큰 내가 클래스 이름은 행의 시작 부분에서 시작 말을하려고 해요 "^CLASS2"
(제외 공간 사이 공간의 조합 : 나는 믿고 무엇
충분하다) 스택 할당.
스택 할당의 경우 [^a-zA-Z] CLASS3 [a-zA-Z]+
이 시도되었지만 정규 표현식에 익숙하지 않아서 SO를 실행하려고했습니다. 힙에 대해서는 위의 문자열을 시도했지만 단순한 여분의 간격으로 패턴이 깨져서 잘못된 것으로 알고 있습니다.
누구나 더 좋은 matcher 또는 문제를 해결하는 훨씬 더 좋은 방법을 생각해 낼 수 있습니까?
는
AK
세번째 것은 의미가 없으며, 모두 템플릿이나 typedef가있는 상태에서 실패합니다. 내 솔루션은 모든 클래스의 이름을 바꾸는 것이고 컴파일러 오류는 사용 된 위치를 보여줍니다. –
@MooingDuck 예, 왜 CLASS3 이전의 공백 문자가 아닌지 잘 모르겠지만 임의로 추측하지 않았 으면합니다. 이러한 클래스에 대해 선언 된 템플릿이나 typedef는 없으며 상속 유형 문제도 없습니다. 나는 수업을 개명하는 것에 대해 정말로 생각해 보았습니다. 그러나 이것들은 매우 중요하며 어디에서나 사용됩니다. 거의 모든 줄 바꿈을하지 않습니다 (심지어 할당되지 않은 줄? - 클래스, 구조체, 공용체는 전에 -> 등으로 예상 했습니까?) –
예.하지만이를 대체하는 경우 _first_ 오류는 항상 코드 조각이됩니다 너는 변해야 해.(또한 아마 당신은 회원을 찾고 싶을 것이다. 그러나 당신의 "스택 할당"정규식은 아마 그것을 고를 것이다) –