簡単に見つける方法は、ブレークポイントを挿入して確認することmain()
です。

したがって、技術的には、質問に対する答えは、main()
と呼ばれるものから呼び出されるということstart
です。のソースコードは取得できませんが、start
必要に応じてデバッガーでアセンブリコードを確認できます。このバージョンは、シミュレーター用にビルドされたコードからのものです。
0x1c30: pushl $0
0x1c32: movl %esp, %ebp
0x1c34: andl $-16, %esp
0x1c37: subl $16, %esp
0x1c3a: movl 4(%ebp), %ebx
0x1c3d: movl %ebx, (%esp)
0x1c40: leal 8(%ebp), %ecx
0x1c43: movl %ecx, 4(%esp)
0x1c47: addl $1, %ebx
0x1c4a: shll $2, %ebx
0x1c4d: addl %ecx, %ebx
0x1c4f: movl %ebx, 8(%esp)
0x1c53: movl (%ebx), %eax
0x1c55: addl $4, %ebx
0x1c58: testl %eax, %eax
0x1c5a: jne 0x00001c53 ; start + 35
0x1c5c: movl %ebx, 12(%esp)
0x1c60: calll 0x00001c70 ; main at main.m:9
0x1c65: movl %eax, (%esp)
0x1c68: calll 0x00002376 ; exit
0x1c6d: hlt
0x1c6e: nop
0x1c6f: nop
MacOS Xコマンドラインプログラムを作成し、にブレークポイントを設定すると、デスクトップでも呼び出されmain()
ます。Mac版のアセンブリは完全に同じではありませんが、非常に近いです。したがって、ターゲットプラットフォームに基づいてコンパイラによって生成されるのは適切な推測であり、オペレーティングシステムがプログラムを起動するときに探すエントリポイントです。main()
start
start
start
start