Are there macros which can be used to test Erlang version in driver C code? -
Erlang R15B जोड़ा आप उदाहरण के लिए, Erlang / OTP R15B कुछ एपीआई समारोह पैरामीटर प्रकार यह typedef आप ErlDrvSizeT पुराने ड्राइवर संस्करणों के लिए भी प्रकार इस लेखन के रूप में, Erlang / OTP संस्करण 17.3 और एर्लांग रनटाइम सिस्टम (एर्ट्स) का संस्करण 6.2 वर्तमान है। ERTS 6.2 के लिए, ErlDrvSSizeT typedef, और R16B जोड़ा
erl_drv_output_term समारोह और पुराने समकक्ष को नापसंद किया क्या पुराना एर्लंग के संस्करणों को उसी कोड के साथ समर्थन करने के लिए पूर्वप्रक्रमक मैक्रोज के साथ इन मतभेदों का परीक्षण करने का कोई तरीका है?
ERL_DRV_EXTENDED_MAJOR_VERSION और
उपयोग कर सकते हैं ERL_DRV_EXTENDED_MINOR_VERSION मैक्रो मूल्यों,
erl_driver.h में आपूर्ति, सुविधाओं के बारे में निर्णय लेने के लिए। जब भी ड्राइवर एपीआई बदलता है, ये मान उपयुक्त रूप से बढ़ते हैं। ये वेतन वृद्धि हमेशा Erlang / OTP रिलीज़ नोट में समझाया गया है।
पूर्णांक से एक नए प्रकार
ErlDrvSizeT करने के लिए बदल 64-बिट प्लेटफार्मों से बेहतर ढंग से सामना करने के लिए आप इस के लिए जांच कर सकते हैं और नीचे दिए गए कोड का उपयोग करते हुए पुराने पूर्व-आर 15 बी संस्करणों के लिए इसकी क्षतिपूर्ति कर सकते हैं:
#if ERL_DRV_EXTENDED_MAJOR_VERSION & lt; 2 टाइपिंगफेस इंट एरलड्रॉव एसईजेटी; #endif
उपयोग करने के लिए अनुमति देता है।
ERL_DRV_EXTENDED_MAJOR_VERSION और
ERL_DRV_EXTENDED_MINOR_VERSION मान 3 और 1, क्रमशः है। इन संस्करण के मूल्यों में परिवर्तन।
Comments
Post a Comment