Transmit_as dan Represent_as
Transmit_as dan represent_as berbagi tata letak yang sama kecuali untuk token utama; token membaca FC_TRANSMIT_AS atau FC_REPRESENT_AS, tetapi kode yang mendasar adalah umum.
Deskripsi memiliki tata letak berikut:
FC_TRANSMIT_AS | FC_REPRESENT_AS
flags<1>
quintuple_index<2>
presented_type_memory_size<2>
transmitted_type_buffer_size<2>
transmitted_type_offset<2>
Bendera<1> byte terdiri dari nibble bendera atas dan nibble keselarasan bawah.
Nibble perataan menjaga keselarasan kawat dari jenis yang ditransmisikan. Ini diperlukan ketika ukuran buffer dan menggunakan ukuran jenis yang ditransmisikan dari kode format.
Bendera nibble dapat memiliki bendera berikut:
#define PRESENTED_TYPE_IS_ARRAY 0x10
#define PRESENTED_TYPE_ALIGN_4 0x20
#define PRESENTED_TYPE_ALIGN_8 0x40
Bendera PRESENTED_TYPE_IS_ARRAY menandai argumen transmisi tingkat atas sebagai (atau mewakili sebagai) menjadi array dari sesuatu dan nilai yang diteruskan. Penerjemah –Oi menggunakan bendera ini untuk melangkahi argumen seperti itu (yang sebenarnya merupakan penunjuk pada tumpukan, bukan array). Dua bendera lainnya juga hanya digunakan di interpreter sebelumnya untuk melangkah dengan benar di atas jenis yang disajikan pada tumpukan.
quintuple_index<2> adalah indeks quintuple rutin panggilan balik (ini sebenarnya merupakan quadruple) fungsi. Tabel ini umum untuk ditransmisikan sebagai dan mewakili sebagai dan ada pemetaan yang jelas untuk posisi rutinitas, seperti yang ditransmisikan layanan titik masuk yang sama sebagai dan mewakili sebagai kode. Pemetaannya from_local => to_xmit, to_local => from_xmit, free_inst => free_xmit, free_local => free_inst.
presented_type_memory_size<2> selalu menyediakan ukuran untuk jenis yang disajikan/lokal, termasuk tidak diketahui mewakili sebagai jenis.
transmitted_type_buffer_size<2> adalah nol, ketika ukurannya bervariasi, atau ukuran tetap aktual. Ini adalah pengoptimalan yang memungkinkan melompati beberapa panggilan balik saat mengukur buffer.
transmitted_type_offset<2> adalah offset jenis relatif biasa ke string format jenis yang ditransmisikan.
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