2016-06-01 4 views
1

는, 단순한 ANSI C 프로그램을 만들어 (나는 CPP하지만 ANSI C를 사용하지 않도록 설정 VS 변경했다) :Visual Studio로 작성된 Ansi C hello 세상의 어셈블리 코드를 보는 방법은 무엇입니까? 나는 그것을 컴파일하고이 생성</p> <pre><code>int a = 0; int b = 0; printf("Hello World! nn"); system("PAUSE"); return 0; </code></pre> <p>내가 비주얼 스튜디오에서 ANSI C와 함께 연주 해요

enter image description here

나는 간단한 .EXE를 기다리고 있었다 우선 내가 왜 .ILK을 모르고 .PDB 만들어진 그러나 여기에서 문제는 내가 컴파일 된 C에 의해 생성 된 어셈블리 코드를 볼 수있는 방법입니다 프로그램?

감사

+0

제리가 말한 내용 .ilk도 .pdb도 exe를 실행하는 데 필요하지 않습니다. –

답변

3

.ilk 당신이 당신의 코드를 약간 변경을 할 때 다음, 다시 링크를 연결을 좀 더 빠르게 할 수 있습니다 증분 연결 파일입니다.

.pdb은 프로그램 데이터베이스로, 디버깅 할 때 사용합니다.

코드가 변환되는 어셈블리 언어를 얻으려면 /Fa을 사용하여 컴파일 할 수 있습니다.

+0

언제나 Jerry에게 매우 도움이됩니다. ansi C 프로그램을 빌드 할 때 Visual Studio에서 호출하는 컴파일러가 무엇인지, 그리고/Fa 또는 다른 인수를 추가 할 수있는 방법을 이해하도록 도와 줄 수 있습니까? 고마워. – RollRoll

+0

@ ThePoet : 적어도 커맨드 라인에서 컴파일하는 것이 좋을 것 같습니다. IDE 내에서 솔루션 탐색기에서 파일을 마우스 오른쪽 단추로 클릭하고 속성을 선택한 다음 C/C++ -> 출력 파일 -> 어셈블러 출력으로 이동하여 "No Listing"에서 다른 옵션 중 하나로 변경합니다 (아마도 "어셈블리 만"또는 "소스 코드와 어셈블리"). –

0

프로젝트 속성에서 Assembler Output 설정을 사용하십시오.

당신은 비주얼 스튜디오로 컴파일 된 프로그램의 어셈블리 코드를 보여줄 것을 요청할 수 있습니다 솔루션 탐색기에서 프로젝트 이름을

  1. 을 마우스 오른쪽 버튼으로 클릭을하고 나타나는 메뉴에서 Properties을 선택.
  2. 나타나는 대화 상자의 왼쪽에있는 트리보기 메뉴를 사용하여 Configuration Properties>C/C++>Output Files을 클릭하십시오.
  3. 변경 Assembly with Source Code (/FAs)
  4. 클릭 확인No Listing에서 Assembler Output의 값은 대화 상자를 닫습니다.
  5. 프로그램을 다시 작성하십시오.

지금 당신은 프로젝트 이름을 디버그에 위치한.asm 파일을하거나 프로젝트 디렉토리의 하위 디렉토리를 발표 할 예정이다. 이것은 프로그램의 소스 코드와 각 행이 변환 된 어셈블리 코드를 표시하는 텍스트 파일입니다.