マシン命令とプログラムに関する本を読んでいるときに、アセンブラはソース プログラム全体を 2 回スキャンするという特定のポイントに出くわしました。1 回目のパス/スキャン中にシンボル テーブルを構築し、2 回目のスキャン中にプログラム全体をそれに関連付けます。アセンブラは、関数に対して同様の方法でアドレスを提供する必要があります。
さて、アセンブラはプログラムを 2 回通過するのに、なぜ関数を使用する前に関数を宣言する必要があるのでしょうか? アセンブラは 1 回目のパスで関数のアドレスを提供し、2 回目のパスでそれをプログラムに関連付けませんか? この場合、Cプログラミングを検討しています。