VC++에 컴파일하는 동안 ASM 파일을 생성하는 방법에 대해서는 아직까지 언급하지 않았습니다. 그러나 컴파일 과정에서 버려진 여분의 파일과 마찬가지로 매우 제한적으로 보입니다. ASM/C++ 코드가 링크되어있을 수 있으므로 C++에서 직접 생성 된 ASM 코드로 이동할 수 있다고 생각 했습니까? 아니면 ASM 코드에서 중단 점을 설정할 수 있습니까? 이것이 가능하고 도구를 모르거나 오프라인 분석을위한 ASM 생성입니까?VC++ ASM 생성 이해
답변
컴파일러에서 생성 된 어셈블리 언어 파일은 주로 오프라인 분석 용입니다. 생성 된 어셈블리 코드에서 중단 점을 설정하는 것과 같은 일을하고 싶다면 그렇게 할 수 있습니다. 적절한 소스 파일을 열었 으면 마우스 오른쪽 버튼을 클릭하고 "분해"로 이동하십시오. 그러면 소스 문이 주석으로 인터리브 된 어셈블리 언어 코드가 표시됩니다 (별도로 생성되는 파일과 유사). 그런 다음 특정 소스 문에서 생성 된 개별 어셈블리 언어 문에 중단 점을 설정할 수 있습니다.
이것은 생성 된 어셈블리가 출시 된 것만 큼 교육적이지 않은 디버그 모드에서만 실제로 작동합니다. http://stackoverflow.com/questions/563000/can-optimizations-affect-theability-to-debug-a-vc-app-using-its-pdb –
@BlueRaja : 예, 아니오. 릴리스 모드에서 디버깅 정보를 생성하는 한, 대략 동일한 작업을 수행 할 수 있습니다. 다른 점은 전역 최적화가 소스 코드와 소스 코드간에 1 : 1로 대응하지 않도록 코드를 재정렬 할 수 있다는 것입니다. –
- 1. 모노 ASM 생성
- 2. Intrinsics Vs 인라인 ASM for SSE for VC++ 2K8
- 3. RSpec 2의 생성 된 사양 이해
- 4. IDA 프로 ASM 지침
- 5. ASM 인라인 의심
- 6. 유행 통 이해 이해
- 7. VC#
- 8. Eclipse의 ASM 파일
- 9. ASM to C translator
- 10. ASM x86 관련 JMP
- 11. ASM : LoadLibrary & GetProcAddress
- 12. 이/ASM-일반적인 포함/'?
- 13. 번호 저장 PIC ASM
- 14. asm/atomic.h 컴파일 오류
- 15. ASM 질문, 2의 보수
- 16. x86 asm 디스어셈블러 라이브러리
- 17. syscall wrapper asm C
- 18. ASM : Stateful Transformation
- 19. Asm 코드 설명
- 20. CoffeeScript 목록 이해/배열 이해
- 21. 도움말 이해 linux/tcp.h
- 22. 기본적인 git 이해 문제
- 23. 클래스 다이어그램 이해
- 24. 동일한 VC++ 2010 솔루션에서 프로젝트로 생성 된 .lib에 링크하는 방법
- 25. VC++ 2010 자동으로 메소드 스텁 또는 프로토 타입 생성
- 26. 자동 생성 된 파일 및 VC++ 2008 프로젝트
- 27. MFC (VC++) 프로젝트의 설치 쉴드 생성 방법은 무엇입니까?
- 28. 페이지 생성 시간을 생성하기위한 ASP.NET MVC 실행 파이프 라인 이해
- 29. 파이썬 목록 이해 - 마지막으로 생성 된 요소에 액세스 하시겠습니까?
- 30. 일부 x86 ASM 참조/자습서?
C++과 asm은 1 : 1 표현이 없기 때문에 그렇게하기가 어려울 것입니다. –
그러나 컴파일러는 생성 된 코드를 정확히 알고 있으며 C++에서 ASM으로 매핑 할 수 있어야합니다. 따라서 PDB 파일에이 데이터가 포함되어 있거나 ASM 코드가 부작용 일 경우에만 문제가됩니다. –