Bagaimana __attribute__((constructor)) dan __attribute__((destructor)) Berfungsi
Bila Adakah __attribute__((constructor)) Jalankan?
Atribut ini dijalankan apabila pustaka dikongsi dimuatkan, biasanya semasa program dimulakan.
Mengapa Dua Tanda Kurung?
Semua atribut GCC mengikuti sintaks ini, mungkin untuk membezakannya daripada panggilan fungsi.
Atribut' Nature
atribut ialah sintaks khusus GCC, bukan fungsi atau makro.
Keserasian
__attribute__((constructor)) dan __attribute__((destructor)) berfungsi dalam kedua-dua C dan C .
Keperluan Statik Fungsi
Fungsi yang dikaitkan dengan __attribute__((constructor)) dan __attribute__((destructor)) tidak perlu statik.
__atribut__((pemusnah)) Lari Masa
Pemusnah berjalan apabila pustaka kongsi dipunggah, biasanya semasa keluar program.
Mekanik Pembina dan Pemusnah
Fail objek kongsi mengandungi bahagian khas (.ctors dan .dtors) yang merujuk fungsi yang ditandakan dengan atribut pembina dan pemusnah. Pemuat dinamik memanggil fungsi ini semasa pemuatan dan pemunggahan perpustakaan. Mekanisme serupa wujud dalam pemaut statik untuk kedua-dua permulaan dan penutupan.
Atas ialah kandungan terperinci Bagaimanakah `__attribute__((constructor))` dan `__attribute__((destructor))` Berfungsi dalam C/C ?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!