2009-10-09 2 views
4

이동 Visual Studio 2005의 정의로 이동 내 프로젝트에있는 파일에 대해서만 작동합니다. mfc와 같은 외부 라이브러리에 포함 된 파일에는 작동하지 않습니다. 내가 mfc 함수에 대한 정의로 이동하면 항상 헤더 파일을 보여줍니다. 이 예상되는 동작입니까? 또한이 모든 것이 정의 작업에 어떻게 적용됩니까? 감사합니다Visual Studio 정의

답변

0

예만 MFC 용 인터페이스가 헤더 파일에 제공됩니다. 템플릿으로 구현되지 않으면 실제 정의에 액세스 할 수 없습니다. dll에는 해당 인터페이스에 대한 구현이 있습니다.

0

글쎄, 논리적으로 생각한다면, visual studio는 사용 가능한 MFC 개체의 유일한 정의가 연결된 MFC 헤더 파일에 정의되어 있다는 것을 알고 있기 때문에 실제로 MFC의 전체 소스를 갖고 있지 않으면 다른 곳에서는 볼 수 없습니다.

인텔리 센스/정의로 이동하는 방법은 응용 프로그램을 컴파일 할 때 만들어지는 파일을 통해 이루어집니다. 그것은 변수/함수와 그것이 선언 된 곳 (또는 다형성 상황에서 선언 될 수있는 곳) 사이의 매핑을 저장하고, "정의로 이동"을 말하기 위해 마우스 오른쪽 버튼을 클릭하면 해당 파일을 참조합니다.

1

외부 라이브러리는 자신의 프로젝트를 참조 할 때 원본이 아닌 해당 컴파일 된 DLL을 참조합니다.

외부 클래스의 인터페이스 인 은 필요하지 않지만 DLL의 내부를 보려면 Reflector과 같은 도구를 사용할 수 있습니다.

+2

OP가 헤더와 MFC에 대해 이야기하기 때문에 그는 관리되지 않는 언어를 사용하지 않고 있습니다. 그것은 반사경이 그에게별로 쓸모가 없다는 것을 의미합니다. –

2

나는 작은 투자를 Visual Assist에서 요구할 것입니다. 그것이 제공하는 모든 위대한 기능 외에도, 그것은 Visual Studio가 Visual Studio보다 더 잘 작동하는 Alt + G 명령을 가지고 있습니다.

+0

하지만 그가 겪고있는 행동은 바뀌지 않습니다. 정적 라이브러리로 컴파일 된 함수 정의는 종종 단순히 사용 가능하지 않습니다. 그리고 플러그를 줘야했기 때문에 WT로 비주얼 스튜디오 UI 디자인 가이드 라인을 완전히 무시했기 때문에 시각 보조 기능을 완전히 사용할 수 없게되었습니다. 무료로 받았다고해도 사용할 수 없습니다. –

+0

나는 거기에 동의하지만, 오히려 이상한 UI를 가지고있다. 그러나 왜 그것을 사용할 수 없는지 나는 이해하지 못한다. –

1

MFC 소스 파일 (적어도 기능 팩의 것들) 어떤 폴더에 있는지 (보통 C:\Program Files\Microsoft Visual Studio 9.0\VC\atlmfc\src\mfc) 폴더를 파일에서 찾기 대화 상자에 추가하십시오.

주 ... 그것은 이동과 같은 정의에 직접적인 아니다, 당신은 찾기 결과에서 검색 할 수 있습니다,하지만 작동 : 내가 두 번째 비주얼의 플리 피 (flippy)의 대답 @ 지원, 정말 좋아요.

0

예 예상되는 동작입니다. MFC 코드의 선언 (헤더 파일) 만 상자에서 사용할 수 있으므로 사용자를 데려다 줄 수있는 유일한 위치입니다.

무엇을 보여줄 것으로 기대하십니까?

관련 문제