IT

gcc로 어셈블리에 컴파일하려면 어떻게 해야 합니까?

itgroup 2023. 7. 12. 23:42
반응형

gcc로 어셈블리에 컴파일하려면 어떻게 해야 합니까?

gcc로 실행 파일 대신 어셈블리로 컴파일하려면 어떻게 해야 합니까?-S 플래그가 있는 건 알지만, 메이크 파일 어디에 사용해야 하나요?예를 들어 flags -O3 -o exe_name을 사용하는 경우 -S 플래그를 어디에 두어야 합니까?

또한 사용할 것을 제안합니다.-fverbose-asm생성된 어셈블리어에는 코드를 "삭제"하는 몇 가지 생성된 주석이 있기 때문입니다.예:

gcc -S -fverbose-asm -O2 foo.c

에서 발생할 것입니다.foo.s(몇 가지 의견과 함께) 컴파일을 통해 생성된 어셈블러 코드foo.c

그리고 GCC 최적화가 수행하는 작업을 이해하기 위해 시도할 수도 있습니다.-fdump-tree-all수백 개의 파일이 생성됩니다!)

GCC에 객체 파일(또는 실행 파일) 대신 어셈블리 파일을 생성하도록 요청할 수 있습니다.

예를 들어:

gcc -Wall -c test.c

test.c(test.o)에서 개체 파일을 생성합니다.

gcc -Wall -o test test.c

test.c에서 'test'라는 이름의 실행 파일을 생성합니다.

gcc -Wall -S test.c

test.c(test.s)에서 어셈블리 파일을 생성합니다.

거의 아무데나 두세요.

gcc -O3 -S -o output.asm ...

생성된 어셈블리를 저장합니다.output.asm.

언급URL : https://stackoverflow.com/questions/8021874/how-can-i-compile-to-assembly-with-gcc

반응형