Toolchain
Modul ini menentukan lapisan abstraksi toolchain melalui makro.
Ringkasan
Penggunaan:
typedef OT_TOOL_PACKED_BEGIN struct { char mField1; union { char mField2; long mField3; } OT_TOOL_PACKED_FIELD; } OT_TOOL_PACKED_END packed_struct_t;
Makro
OT_APPLE_IGNORE_GNU_FOLDING_CONSTANT
OT_APPLE_IGNORE_GNU_FOLDING_CONSTANT __VA_ARGS__
OT_FALL_Through
OT_FALL_THROUGH do \ { \ } while (false) /* fallthrough */
Hentikan peringatan jatuh melalui compiler tertentu.
OT_MUST_USE_RESULT
OT_MUST_USE_RESULT
Indikasi khusus compiler bahwa class atau enum harus digunakan jika merupakan nilai yang ditampilkan dari fungsi.
OT_TOOL_PACKED_BEGIN
OT_TOOL_PACKED_BEGIN
Indikasi khusus compiler bahwa class atau struct harus dikemas dalam byte.
OT_TOOL_PACKED_FIELD
OT_TOOL_PACKED_FIELD
Menunjukkan kepada compiler struct atau union bertingkat untuk dikemas dalam class atau struct yang dikemas dalam byte.
OT_TOOL_PRINTF_STYLE_FORMAT_ARG_CHECK
OT_TOOL_PRINTF_STYLE_FORMAT_ARG_CHECK
Makro ini menentukan bahwa fungsi atau metode menggunakan argumen gaya printf
dan harus diperiksa jenisnya terhadap string format.
Makro ini harus ditambahkan setelah deklarasi fungsi/metode. Contoh:
void MyPrintf(void *aObject, const char *aFormat, ...) OT_TOOL_PRINTF_STYLE_FORMAT_ARG_CHECK(2, 3);
Dua nilai indeks argumen menunjukkan string format dan argumen pertama yang digunakan untuk memeriksanya. Parameter tersebut dimulai dari indeks 1 untuk parameter pertama dalam fungsi dan pada indeks 2 untuk parameter pertama dalam suatu metode.
Detail | |||||
---|---|---|---|---|---|
Parameter |
|
OT_TOOL_WEAK
OT_TOOL_WEAK
Pengubah simbol lemah khusus compiler.
OT_UNREACHABLE_CODE
OT_UNREACHABLE_CODE CODE
Menyembunyikan peringatan Kode yang tidak dapat dijangkau di toolchain tertentu.
OT_UNUSED_VARIABLE
OT_UNUSED_VARIABLE do \ { \ (void)(VARIABLE); \ } while (false)
Hentikan peringatan variabel yang tidak digunakan di toolchain tertentu.
Materi
Topik Referensi API OpenThread berasal dari kode sumber, yang tersedia di GitHub. Untuk mengetahui informasi selengkapnya, atau untuk berkontribusi pada dokumentasi kami, lihat Resource.