죽은 간단한 C 및 x86 프로그램을 어디에서 찾을 수 있습니까? 지금까지 인터넷에서 발견 한 예제는 "여기에 Hello World in x86"에서 "자신의 운영 체제 작성"으로 곧바로 전환하는 것 같습니다. 나는 당신이 기능을 부르는 것과 같은 일을 할 때 일어나는 일을 내면화하는 데 어려움을 겪고있다.나란히보기 C, x86 프로그램
답변
, 그래서 당신은 오히려 어셈블러 출력을 얻기 위해 다음 GCC 당신이 gcc -S yourhelloworldprogram.c
을 사용할 수 있습니다 당신은 86 어셈블러를 의미 가정
gcc -O -S a.c
+1 또한 작동합니다. 스위치를 기억하지 못했습니다. –
x86 어셈블리 언어를 의미하는 경우 objdump --disassemble myprog
(모든 GNU 시스템에서)을 사용하여 C 프로그램에서 생성 한 어셈블리 언어를 표시하십시오. 시스템에 objdump가 없으면 ndisasm을 사용할 수 있습니다.
gcc -S a.c
후 대부분의 시간은, 작은 및 조립을 이해하기 쉽게는 최적화에 의해 생성되는
로 볼 전화, GCC의 중간 조립 출력을 살펴 추천 할 것입니다사용할 수 있습니다. Visual Studio의 경우 다음과 같이 어셈블러 출력을 얻을 수 있습니다. How do I get the assembler output from a C file in VS2005
나는 ddd을 추천합니다. C 소스 (디버그 기호로 빌드 한 경우)와 기계 코드가 모두 표시 될 수 있습니다. 레지스터 및 메모리 값을 대화 형으로 프로빙하여 코드를 단계적으로 수행 할 수도 있습니다. 훌륭한 학습 도구.
gcc에서 옵션을 사용하면 -S
옵션보다 더 나은 옵션을 사용할 수 있습니다. 옵션은 여전히 오브젝트 파일을 생성하고 프리 프로세서 파일도 가져 오기 때문입니다. verbose-asm은 프로그램의 함수와 변수 이름 및 생성 된 어셈블리 코드 사이의 링크를 만드는 주석을 어셈블리 출력에 추가하기 때문에 중요합니다. 특히 최적화와 함께 생성 할 때 소스 C와 어셈블리 사이를 연결하는 것이 종종 어렵습니다.
- 1. 프로그램 파일 (x86) 문제
- 2. 설치 프로그램 질문 : "프로그램 파일"또는 "프로그램 파일 (x86)"?
- 3. X86 용 기본 응용 프로그램 만들기?
- 4. C/x86 코드를 최적화하려면 어떻게해야합니까?
- 5. Dirs Program Files (x86) 및 프로그램 파일
- 6. C# 응용 프로그램 용 AnyCPU/x86/x64 및 C++/CLI 종속성
- 7. C 언어 용 x86/x64 JIT 어셈블러
- 8. 어떤 x86 C++ 컴파일러가 자체적으로 멀티 스레드됩니까?
- 9. C++에서 SSE/AVX를위한 x86 CPU 디스패치
- 10. 왜 x86 폴더가 C# 프로젝트 디렉토리에 있습니까?
- 11. x86 - x64 포팅 쿼리
- 12. .NET 용 경량 x86 에뮬레이터/관리되는 환경에서 x86 코드 실행
- 13. ASM x86 관련 JMP
- 14. Windows x64 C# x86 콘솔 응용 프로그램 exe는 "DLL 임의의 CPU"와 작동하는 것으로 보입니다.
- 15. x86 명령어 인코딩 테이블
- 16. Windows에서 x86-mingw32에서 x86-mswin32-60으로 rubygems 플랫폼을 변경하는 방법
- 17. x86 간단한 mov 명령
- 18. X86 어셈블리 - 칩 액세스
- 19. x86 명령어 세트 로드맵
- 20. RXTX x64 및 x86
- 21. ntop Win32 x86 사용
- 22. System.Windows.Forms.WebBrowser : 강제로 X86?
- 23. XBAP를 사용하는 x86 TargetPlatform
- 24. x86 레지스터의 이름이 원래대로입니까?
- 25. VISTAx64에서 x86 프로세스를 생성하십시오.
- 26. X86 확장을 작성하는 방법
- 27. x86 어셈블리 참조 시트
- 28. x86 디 컴파일을위한 리소스
- 29. x86 어셈블리의 COM?
- 30. x86 어셈블리 코딩의 매크로
x86 어셈블리 언어를 의미합니까? 또는 x86이라는 언어가 있습니까? –