반응형
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
반응형
'IT' 카테고리의 다른 글
쿼리를 보낼 때 이스케이프해야 하는 것은 무엇입니까? (0) | 2023.07.12 |
---|---|
&" 문자는 web.config에 저장된 암호를 해독합니다. (0) | 2023.07.12 |
"한 페이지에 모든 열 맞춤" 설정에 대한 파일을 설정하는 방법 (0) | 2023.07.12 |
ORA-01438: 지정된 정밀도보다 큰 값이 이 열에 허용됩니다. (0) | 2023.07.12 |
"stale" git branch는 무엇입니까? (0) | 2023.07.12 |