소스 파일을 수정하지 않고 사전 구축에서 소스 파일을 수정하는 방법은 무엇입니까?

StackOverflow https://stackoverflow.com/questions/876497

문제

그래서 저는 Visual Studio 2005를 사용하고 있으며 현재 프로젝트의 경우 SagleC ++의 측면 직조를 처리하기 위해 C# 추가 기능을 구축합니다. 측면 및 소스 파일을 수집하여 측면 컴파일러에 공급하는 것은 간단하지만 새 (수정 된) 소스 파일을 생성합니다. 표준 SASPERC ++ 추가 기능을 모방하려고합니다. http://www.pure-systems.com/aspectc_add-in.22+M54A708DE802.0.html, 짠 파일을 C ++ 컴파일러에 공급할 때 프로젝트의 소스 파일을 변경하지 않으려 고합니다. 이 작업을 수행 할 수 있다고 가정하면 (어떻게 확실하지 않음) 디버거가 원래 소스 파일을 올바르게 가리킬 수있는 방법은 무엇입니까? 소스가 컴파일 된 버전과 일치하지 않도록 VS 옵션을 선택 취소해야한다는 것을 알고 있지만 소스 파일을 직접 수정하지 않고 두 가지를 연결하는 방법에 대한 손실이 있습니다. 어떤 충고?

도움이 되었습니까?

해결책

전처리 기 직전 또는 직후 소스 코드를 수정하려는 것 같습니다. 이 경우 #line 지시문을 사용하여 컴파일러에게 실제로 처리하는 파일과 줄을 알려야합니다. 이것이 전처리가 작동하는 방식이며 모든 헤더 파일이 하나의 거대한 파일에 포함되며,이 파일에는 #Line Directrives가 포함되어있어 컴파일러가 올바른 줄의 오류를보고하고 디버거의 기호에 올바른 줄을 지정할 수 있습니다.

소스 파일에서 사전 처리기를 실행해보아야합니다. 이것은 #line 지시문의 작동 방식을 보여줍니다. cl.exe 명령 줄 옵션 /p가 여기에서 도움이됩니다. 이 작업을 위해 파일을 컴파일하는 데 필요한 다른 전처리 옵션이 필요합니다.

http://msdn.microsoft.com/en-us/library/b5w2czay(vs.71).aspx

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top