د مقالې مواد زما څخه اخیستل شوي دي
د ټون جنراتور مثال ښه کول
په تیرو کې
وروسته له دې چې موږ نور سرکټ ته اړتیا نلرو، د حافظې وړیا کول باید د ډیټا پایپ لاین په بندولو سره پیل شي. د دې کولو لپاره ، تاسو اړتیا لرئ د فعالیت په کارولو سره د ساعت سرچینه او ټیکر له سرکټ څخه جلا کړئ ms_ticker_detach(). زموږ په قضیه کې، موږ باید ټیکر د فلټر ان پټ څخه جلا کړو باطل سرچینه:
ms_ticker_detach(ticker, voidsource)
په هرصورت، د لیږدونکي ودرولو وروسته، موږ کولی شو د هغې سرکټ بدل کړو او بیرته یې په فعالیت کې واچوو، بیا ټیکر سره وصل کړو.
اوس موږ کولی شو دا د فنکشن په کارولو سره لرې کړو ms_ticker_destroy():
ms_ticker_destroy(ticker)
لیږدونکی ودریدلی او موږ کولی شو د هغې برخې جلا کول پیل کړو ، د فلټرونو منحل کول. د دې کولو لپاره، فنکشن وکاروئ ms_filter_unlink():
ms_filter_unlink(voidsource, 0, dtmfgen, 0);
ms_filter_unlink(dtmfgen, 0, snd_card_write, 0);
د استدلال هدف د فعالیت لپاره ورته دی ms_filter_link().
موږ اوس جلا شوي فلټرونه په کارولو سره لرې کوو ms_filter_destroy():
ms_filter_destroy(voidsource);
ms_filter_destroy(dtmfgen);
ms_filter_destroy(snd_card_write);
زموږ په مثال کې د دې لینونو په اضافه کولو سره، موږ به د حافظې مدیریت له نظره د برنامه پای پای ته ورسیږو.
لکه څنګه چې موږ لیدلی شو، د برنامه سمه بشپړتیا موږ ته اړتیا درلوده چې د پیل په څیر د کوډ د لینونو نږدې ورته شمیر اضافه کړو، په هر فلټر کې د کوډ څلور لینونو اوسط سره. دا معلومه شوه چې د برنامه کوډ اندازه به په پروژه کې کارول شوي فلټرونو شمیر په تناسب کې زیاتوالی ومومي. که موږ په سرکټ کې د زرو فلټرونو په اړه وغږیږو ، نو د دوی رامینځته کولو او ویجاړولو لپاره د معمول عملیاتو څلور زره لاینونه به ستاسو کوډ کې اضافه شي.
اوس تاسو پوهیږئ چې څنګه یو برنامه په سمه توګه پای ته ورسوئ چې د میډیا سټیمر کاروي. په لاندې مثالونو کې، د تړون لپاره، زه به د دې کولو لپاره "هیر کړم". مګر تاسو به هیر نکړئ؟
د میډیا سټیمر پراختیا کونکو د سافټویر وسیلې ندي چمتو کړي ترڅو د فلټرونو لاسوهنې اسانه کړي کله چې د سرکټونو راټولول / جلا کول. په هرصورت ، یو مرستندوی شتون لري چې تاسو ته اجازه درکوي په چټکۍ سره له سرکټ څخه فلټر دننه کړئ / لرې کړئ.
موږ به وروسته د دې مسلې حل کولو ته راستون شو ، کله چې زموږ په مثالونو کې د فلټرونو شمیر له څو درجن څخه ډیر وي.
بل
سرچینه: www.habr.com