Artikuluaren materiala niretik hartua da
Tonu-sorgailuaren adibidea hobetzea
Aurrekoan
Zirkuitua gehiago behar ez badugu, memoria askatzen hasi beharko litzateke datu-hodiak geldituz. Horretarako, erloju-iturria eta ticker-a zirkuitutik deskonektatu behar dituzu funtzioa erabiliz ms_ticker_detach(). Gure kasuan, ticker-a iragazki sarreratik deskonektatu behar dugu iturburu hutsa:
ms_ticker_detach(ticker, voidsource)
Bide batez, garraiatzailea gelditu ondoren, bere zirkuitua aldatu eta berriro martxan jarri dezakegu, berriro ticker-a konektatuz.
Orain funtzioa erabiliz kendu dezakegu ms_ticker_destroy():
ms_ticker_destroy(ticker)
Garraiatzailea gelditu egin da eta haren zatiak desmuntatzen has gaitezke, iragazkiak deskonektatuz. Horretarako, erabili funtzioa ms_filter_unlink():
ms_filter_unlink(voidsource, 0, dtmfgen, 0);
ms_filter_unlink(dtmfgen, 0, snd_card_write, 0);
argumentuen helburua funtzioaren berdina da ms_filter_link().
Orain bereizitako iragazkiak kenduko ditugu erabiliz ms_filter_destroy():
ms_filter_destroy(voidsource);
ms_filter_destroy(dtmfgen);
ms_filter_destroy(snd_card_write);
Lerro hauek gure adibideari gehituz, memoriaren kudeaketaren ikuspegitik programaren amaiera zuzena lortuko dugu.
Ikus dezakegunez, programa behar bezala osatzeak hasieran adina kode-lerro gehitzea eskatzen zigun, batez beste lau kode-lerro iragazki bakoitzeko. Ematen du programaren kodearen tamaina proiektuan erabilitako iragazki kopuruaren proportzioan handituko dela. Zirkuituan mila iragazki buruz hitz egiten badugu, horiek sortzeko eta suntsitzeko ohiko eragiketa lau mila lerro gehituko zaizkio kodeari.
Orain badakizu nola amaitzen den multimedia-streamer bat erabiltzen duen programa bat. Ondorengo adibideetan, trinkotasunaren mesedetan, hau egitea "ahaztuko" zait. Baina ez duzu ahaztuko?
Media streamer-aren garatzaileek ez zuten software-tresnarik eman zirkuituak muntatzean/desmuntatzerakoan iragazkien manipulazioa errazteko. Hala ere, bada laguntzaile bat zirkuitutik iragazki bat azkar sartzeko/kentzeko aukera ematen duena.
Aurrerago itzuliko gara arazo hau konpontzera, gure adibideetako iragazki kopurua dozena pare bat gainditzen duenean.
Hurrengoa
Iturria: www.habr.com