2012-03-06 4 views
2

나는 friday.com의 this awesome article을 읽고 있습니다. bbum은 객관적인 - c 코드와 해당 어셈블리를 보여줍니다. objective-c 어셈블리 코드를 보려면 어떻게해야합니까?Objective-c의 어셈블리 코드보기

gcc을 사용하여 OS X 터미널에서 컴파일한다고 가정합니다.

+1

xcode를 사용하려는 경우 파일 어셈블리를 볼 수있는 내장 기능이 있습니다. –

+2

해당 기사의 많은 어셈블리가 원본에서 직접 복사/붙여 넣기되었습니다. Objective-C의 메신저 인 objc_msgSend()는 어셈블리에서 직접 작성됩니다. 말하자면, 태그가있는 포인터, imps-as-blocks을 지원하고 더 빠른 캐싱 메커니즘을 가진 최신 런타임에 대한 기사를 업데이트해야합니다. – bbum

답변

5

내가 목표 - C와 함께 해본 적이 (그것은 C와 함께 작동)하지만 난 당신이 사용할 수있는 것 같아요 단순히

gcc -S program.m 

또한 더 읽기 출력을 만들기 위해 -fverbose-asm을 사용할 수 있습니다

6

를 사용하여 컴파일 후 otool, 또는 gcc -S <input>.c -o <output>.S, 또는 사용 엑스 코드, 그것은 다음 프로젝트를 포함하고있는 디렉토리에서 /Developer/usr/bin/xcodebuild ... 아주 끝내 :

enter image description here

+0

OP는 분명히 "명령 행"이라고 말했습니다 .... – ams

+0

실제로 그의 말은 "OS X Terminal"이었지만 누가 과언이되고 있습니까? – QED

+1

OP는 분명히 * 명령 라인을 의미합니다. ; P – ams