टूलचेन
यह मॉड्यूल, मैक्रो के ज़रिए टूलचेन ऐब्स्ट्रैक्शन लेयर को तय करता है.
खास जानकारी
इस्तेमाल:
typedef OT_TOOL_PACKED_BEGIN struct { char mField1; union { char mField2; long mField3; } OT_TOOL_PACKED_FIELD; } OT_TOOL_PACKED_END packed_struct_t;
मैक्रो
OT_APPLE_IGNORE_GNU_FOLDING_CONSTANT
OT_APPLE_IGNORE_GNU_FOLDING_CONSTANT __VA_ARGS__
OT_FALL_THROUGH
OT_FALL_THROUGH do \ { \ } while (false) /* fallthrough */
खास कंपाइलर में चेतावनी देकर फ़ॉल को रोकें.
OT_MUST_USE_RESULT
OT_MUST_USE_RESULT
कंपाइलर से मिलने वाला यह संकेत कि किसी फ़ंक्शन की रिटर्न वैल्यू होने पर, क्लास या enum का इस्तेमाल किया जाना चाहिए.
OT_TOOL_PACKED_BEGIN
OT_TOOL_PACKED_BEGIN
कंपाइलर से जुड़ी यह जानकारी कि क्लास या स्ट्रक्चर, बाइट पैक किया हुआ होना चाहिए.
OT_TOOL_PACKED_FIELD
OT_TOOL_PACKED_FIELD
कंपाइलर को बताएं कि वह नेस्ट किए गए स्ट्रक्चर या यूनियन को बाइट पैक की गई क्लास या स्ट्रक्चर में पैक करना है.
OT_TOOL_PRINTF_STYLE_FORMAT_ARG_CHECK
OT_TOOL_PRINTF_STYLE_FORMAT_ARG_CHECK
इससे पता चलता है कि किसी फ़ंक्शन या तरीके के लिए, printf
स्टाइल आर्ग्युमेंट इस्तेमाल किए जाते हैं. इसलिए, फ़ॉर्मैट स्ट्रिंग के लिए टाइप की जांच की जानी चाहिए.
फ़ंक्शन या तरीके के एलान के बाद जोड़ा जाना चाहिए. उदाहरण के लिए:
void MyPrintf(void *aObject, const char *aFormat, ...) OT_TOOL_PRINTF_STYLE_FORMAT_ARG_CHECK(2, 3);
दो आर्ग्युमेंट इंडेक्स वैल्यू, फ़ॉर्मैट स्ट्रिंग और पहले आर्ग्युमेंट को दिखाते हैं, जिसकी जांच करनी है. वे किसी फ़ंक्शन के पहले पैरामीटर के लिए इंडेक्स 1 से शुरू होते हैं और किसी तरीके में पहले पैरामीटर के लिए इंडेक्स 2 से शुरू होते हैं.
जानकारी | |||||
---|---|---|---|---|---|
पैरामीटर |
|
OT_TOOL_WEAK
OT_TOOL_WEAK
कंपाइलर के हिसाब से, कमज़ोर सिंबल मॉडिफ़ायर.
OT_UNREACHABLE_CODE
OT_UNREACHABLE_CODE CODE
खास टूलचेन में, ऐक्सेस न हो पाने वाले कोड की चेतावनी को रोकें.
OT_UNUSED_VARIABLE
OT_UNUSED_VARIABLE do \ { \ (void)(VARIABLE); \ } while (false)
कुछ खास टूलचेन में, इस्तेमाल नहीं किए गए वैरिएबल की चेतावनी को रोकें.
संसाधन
OpenThread API के रेफ़रंस के विषय, सोर्स कोड से मिलते हैं. यह सोर्स GitHub पर उपलब्ध है. ज़्यादा जानकारी या हमारे दस्तावेज़ में योगदान देने के लिए, संसाधन देखें.