2013-12-19 1 views
2

Intel의 C 컴파일러에서 생성 할 수있는 .s 파일을 수정하고 어셈블 할 수 있습니까? 내가 정확히 몇 가지 오류가 발생합니다 인텔의 ICC와 같은 시도하는 경우.s 파일 수정 및 조합

  1. gcc -S file.c
  2. 는, 그러나 file.s
  3. as file.s -o file.o

을 수정 나는 그것을 통해 GCC으로 가능하다는 것을 알고있다 및 경고. 내가 여기서 무엇을 놓치고 있니? 감사.

+0

처음에 소스 코드부터 인텔 구문은 ASM을 생성하는 방법에 대한 예? – Chinna

+0

(2)에서 설명한대로 생성 된 어셈블리 파일을 수정합니다. 두 개의 독립적 인 명령의 순서를 바꾸고 있다고 가정 해 봅시다. – user1829358

+1

무엇이 오류입니까? 오류를 모른 채 잘못 된 것이 무엇인지 어떻게 알 수 있습니까? –

답변

2

어셈블리 언어의 문제는 표준 구문이 없다는 것입니다. 어셈블리를 작성하는 데 가장 많이 사용되는 2 구문은 AT & T 및 인텔입니다.

기본적으로 gcc가 어떤 것을 사용하고 있으며 인텔이 어느 것을 사용하는지 추측합니다.

gcc에서 Intel 구문을 사용하는 것이 좋습니다. 단 하나의 구문 만 사용할 수 있습니다.

우리가 수정중인 알려 C

gcc -S -masm=intel source.c 
+0

감사합니다. 내 문제는 내가 .s 파일을 통해 생성했다 : icc -S -c file.c -masm = intel. 그러나 두 번째 단계 (즉, (2) icc file.s -o file.o)가 실패했습니다. (1)에서 -masm = intel을 제거하면이 문제가 해결됩니다. icc를 사용하여 intel 구문을 사용하고 .s 파일을 .o 파일로 어셈블하는 .s 파일을 생성하는 방법이 있습니까? – user1829358

+0

@ user1829358 참조 this http://stackoverflow.com/questions/5367858/integrating-intels-icc-with-gcc – user2485710