daripada ditolak ke tindanan ditentukan pada masa penyusunan.
Perkara utama yang perlu ditolak ke tindanan sebelum panggilan fungsi ialah parameter fungsi dan parameter semuanya tetap (parameter pembolehubah hanyalah offset yang ditentukan oleh makro). Kod untuk fungsi panggilan diletakkan dalam segmen kod, dan menolak ke tindanan dilakukan dalam bentuk arahan, jadi susunan ditentukan pada masa penyusunan.
@lianera berkata betul, susunan menolak ke tindanan ditentukan pada masa penyusunan.
Biar saya tunjukkan contoh kepada anda: Saya ada sekeping kod seperti ini
#include <stdio.h>
int test_fun(int a, int b)
{
return a + b;
}
int main(int argc, char *argv[])
{
int A, B, ret;
A = 3;
B = 4;
ret = test_fun(A, B);
return 1;
}
Selepas penyusunan, kod pemasangannya kelihatan seperti ini
Tidak mengapa jika anda tidak memahami pemasangan Semasa proses penyusunan, susunan parameter dihantar dan di mana pada timbunan (kedudukan relatif) parameter, pembolehubah tempatan, dll. harus diletakkan. semua ditentukan. Apabila program berjalan ke program yang sepadan, timbunan akan dikendalikan dalam susunan tersusun.
Bukankah menolak ke tindanan merupakan proses yang hanya berlaku pada masa jalan? Penyusunan hanyalah satu proses menterjemah ke dalam kod bait Mengapakah terdapat penolakan pada timbunan?
Perintah
daripada ditolak ke tindanan ditentukan pada masa penyusunan.
Perkara utama yang perlu ditolak ke tindanan sebelum panggilan fungsi ialah parameter fungsi dan parameter semuanya tetap (parameter pembolehubah hanyalah offset yang ditentukan oleh makro).
Kod untuk fungsi panggilan diletakkan dalam segmen kod, dan menolak ke tindanan dilakukan dalam bentuk arahan, jadi susunan ditentukan pada masa penyusunan.
@lianera berkata betul, susunan menolak ke tindanan ditentukan pada masa penyusunan.
Biar saya tunjukkan contoh kepada anda:
Saya ada sekeping kod seperti ini
Selepas penyusunan, kod pemasangannya kelihatan seperti ini
Tidak mengapa jika anda tidak memahami pemasangan Semasa proses penyusunan, susunan parameter dihantar dan di mana pada timbunan (kedudukan relatif) parameter, pembolehubah tempatan, dll. harus diletakkan. semua ditentukan. Apabila program berjalan ke program yang sepadan, timbunan akan dikendalikan dalam susunan tersusun.
Bukankah menolak ke tindanan merupakan proses yang hanya berlaku pada masa jalan? Penyusunan hanyalah satu proses menterjemah ke dalam kod bait Mengapakah terdapat penolakan pada timbunan?