반응형
인텔 구문에서 clang을 사용하여 어셈블리 코드를 생성하는 방법은 무엇입니까?
이 질문에서 알 수 있듯이 g ++를 사용하면 g++ -S -masm=intel test.cpp
. 또한 clang을 사용하면 할 수 clang++ -S test.cpp
있지만 -masm=intel
clang ( warning argument unused during compilation: -masm=intel
) 에서는 지원되지 않습니다 . clang으로 인텔 구문을 얻으려면 어떻게해야합니까?
으로 @thakis 아래 언급 , 연타의 최신 버전 (3.5)에 동의 -masm=intel
인수를.
이전 버전의 경우 Intel 구문으로 어셈블리 코드를 내보내려면 clang을 가져와야합니다.
clang++ -S -mllvm --x86-asm-syntax=intel test.cpp
-mllvm <arg>
clang 명령 줄에서 llvm 옵션을 전달 하는 데 사용할 수 있습니다 . 안타깝게도이 옵션은 문서화가 잘되어 있지 않아서 llvm 메일 링리스트를 통해서만 찾았습니다.
clang r208683 (clang 3.5+)부터는 -masm=intel
. 따라서 귀하의 클랭이 충분히 새로운 경우이를 사용할 수 있습니다.
Clang이 일반 LLVM 바이트 코드를 내보내도록 할 수 있다고 가정하면 llc 를 사용하여 어셈블리 언어로 컴파일하고 해당 --x86-asm-syntax=intel
옵션을 사용하여 Intel 구문으로 결과를 얻을 수 있습니다.
반응형
'developer tip' 카테고리의 다른 글
OOP 인터페이스와 FP 유형 클래스의 차이점 (0) | 2020.12.14 |
---|---|
xcode 프로젝트에서 ARC를 활성화 / 비활성화하는 방법은 무엇입니까? (0) | 2020.12.14 |
Threejs의 투명한 개체 (0) | 2020.12.14 |
"bin / rails : 해당 파일 또는 디렉토리 없음", Heroku의 Ruby 2 및 Rails 4 포함 (0) | 2020.12.14 |
QtMultimedia를 사용하여 사용자 지정 avi 데이터 스트림 재생 (0) | 2020.12.13 |