Fungsi Naked
Khusus Microsoft
Atribut kelas penyimpanan naked
adalah ekstensi khusus Microsoft untuk bahasa C. Untuk fungsi yang dideklarasikan dengan atribut kelas penyimpanan naked
, kompilator menghasilkan kode tanpa kode prolog dan epilog. Anda dapat menggunakan fitur ini untuk menulis barisan kode prolog/epilog Anda sendiri dengan menggunakan kode perakit sebaris. Fungsi naked sangat berguna dalam menulis driver perangkat virtual.
Karena atribut naked
hanya relevan dengan definisi fungsi dan bukan merupakan pemodifikasi tipe, fungsi naked menggunakan sintaks atribut yang diperluas, yang dijelaskan dalam Atribut Kelas Penyimpanan yang Diperluas.
Contoh berikut mendefinisikan fungsi dengan atribut naked
:
__declspec( naked ) int func( formal_parameters )
{
/* Function body */
}
Atau, sebagai alternatif:
#define Naked __declspec( naked )
Naked int func( formal_parameters )
{
/* Function body */
}
Atribut naked
hanya memengaruhi sifat pembuatan kode kompilator untuk barisan prolog dan epilog fungsi. Atribut tersebut tidak memengaruhi kode yang dihasilkan untuk memanggil fungsi tersebut. Dengan demikian, atribut naked
tidak dianggap sebagai bagian dari tipe fungsi, dan penunjuk fungsi tidak dapat memiliki atribut naked
. Selain itu, atribut naked
tidak dapat diaplikasikan ke definisi data. Misalnya, kode berikut menghasilkan kesalahan:
__declspec( naked ) int i; /* Error--naked attribute not */
/* permitted on data declarations. */
Atribut naked
hanya relevan dengan definisi fungsi dan tidak dapat ditentukan dalam prototipe fungsi. Deklarasi berikut menghasilkan kesalahan kompilator:
__declspec( naked ) int func(); /* Error--naked attribute not */
/* permitted on function declarations. */ \
AKHIR Khusus Microsoft
Lihat juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk