Wednesday, December 1, 2010

DLL නැතිනම් (Dynamic Link Libraries) ගැන

පහුගිය දවස්වල පොඩ්ඩක් වැඩවලින් අලවෙලා හිටියා :) , හරි ඒව ඕන නැහැ . බහිමු වැඩේට.  මේක dll ගැන පාඩම මාලාවක් කිව්වාට මම බලාපොරොත්තු වෙන්නේ dll වල ක්‍රියාකාරීත්වය ගැන සහෘද රසික ඔබට පොදු දැනුවත් බාවයක් ලබාදීමටයි. ආරම්භයක් ලෙසට dll ගැන පොඩි හැඳින්වීමක් දෙනවා. ඇත්තටම මොකක්ද මේ dll ගොනුවක් කියන්නේ ? පරිගණකයේ දෘඩ තැටි ධාවකය තුළ පොඩි විපරමක් දැම්මොත් ඔබට හොඳින් පෙනෙන කරුණක් තමයි c:\windows ඩිරෙක්ටරිය තුල, system32  ඩිරෙක්ටරිය තුළ මෙවැනි ගොනු විශාල ප්‍රමාණයක් තිබෙන බව. dll ගොනු විවිධාකාරීවූ ක්‍රියාවන් සඳහා windows මෙහෙයුම් පද්ධතිය තුල යොදාගන්නවා . විටෙක desktop  එකේ කුඩා  මූර්ති රූප (icons)  ගබඩා කර තියා ගැනීමට , විවිධ පර්යන්ත උපාංග( peripheral devices)/අභ්‍යන්තර උපාංග සඳහා device drivers ලෙස, මෙකී නොකී විශාල වැඩ ප්‍රමාණයකට මේ dll ගොනු වග කියනවා . මෙයට හොඳම උදාහරණය  තමයි Win Xp මෙහෙයුම් පද්ධතියේ තේමාවට (theme) යොදා ගන්නා uxtheme.dll ගොනුව.මේක හරියට patch කෙරුවොත් අපට වෙනස් තේමා සඳහා Win Xp මෙහෙයුම් පද්ධතිය හැඩගස්වා ගන්න පුළුවන්..

  මම පහුගිය දවස්වල කරපු පරිගණක පාලන පද්ධති පිළිබඳ ලිපි පෙළෙහි යොදාගත් port ,visual basic ව්‍යාපෘතියේ වැඩිදියුණු කල සංස්කරණයක් යොදා ගෙන මෙවර dll ගොනුවක ක්‍රියාකාරීත්වය පිළිබඳ පැහැදිලි කරන්නම්. වැඩේ ටිකක් පරීක්ෂණාත්මකයි. මුලින්ම WinXP වලදි start-->run-->cmd ගොස් commad prompt එක ලබා ගන්න. පසුව එහි පහත රූප සටහනේ දැක්වෙන ආකාරයට විධානය සටහන් කරන්න.

ටිකක් වැඩේ අපූරුයි නේද ? කොතරම් ප්‍රමාණයක් dll ගොනු cmd.exe හි ක්‍රියාකාරීත්වයට වග කියනවාද?

මේ ආකාරයට පරිගණකයේ වැඩසටහන්වලට/ක්‍රියාකාරිත්වයට dll ගොනුවලින් ලැබෙන පිටිවහල අතිමහත් ..

ඉහතින් මම සඳහන් කරපු port  ව්‍යාපෘතිය පරිගණකයේ ධාවනය කරලා  බැලුවහම එහි ක්‍රියා කාරිත්වයට වග කියන dll ගොනුවල පහැදිලි තිර සටහනක් පහත දැක්වෙනවා.




මෙහි දම් පැහැයෙන් දැක්වෙන්නේ මෙහෙයුම් පද්ධතියේ අභ්‍යන්තර ක්‍රියාකාරීත්වයට අදාල dll  ගොනු,නිල් පැහැයෙන් දැක්වෙන්නේ port.exe හි චිත්‍රක අතුරු මුහුණතට  අදාල visual basic ගොනු. ඒ අස්සේ කහපාටින් සලකුණු කරලා තියෙන්නේ අපේ ඇතුල/පිටත සන්නිවේදන ඒජන්තයා  වන inpuout32.dll ගොනුව.කොහොමද ? වැඩේ ටිකක් ගතියක් තියෙනවා නේද ?



 අද සටහන රසවත්ද නැතිද , වැරදි තිබෙනවාද යන්න බලන ඇත්තෝ සටහන් කරත්වා . එහෙනම් මම කැපුනා. ජය..!





මෙන්න අර port  ව්‍යාපෘතිය . මම ගානේ නොමිලේ  :-) . මෙතනින් බාගන්න

13 comments:

  1. වැඩේ නම් නියමයි.

    ReplyDelete
  2. නියමයි ගොඩක් වැදගත් ලිපියක් දන්නැති දෙයක් ඉගෙන ගත්තා

    ReplyDelete
  3. වැඩේ නම් නියමයි. දිගටම කරගෙන යන්න මගේ සුබපැතුම්!
    :-)

    ReplyDelete
  4. නියම සටහනක්. දිගටම ලියන්න.

    ReplyDelete
  5. ප්‍රතිචාර දක්වපු subashblog,Dayan Senavirathna,Pasan Buddhika,පිටස්තරයා(චමිල අල්විස්) හැමෝටම ස්තූතියි.
    මම දිගටම ලියනවා

    ReplyDelete
  6. dll කියන්නෙ හ‍රියටම මොකද්ද කියල නම් පැහැදිලි උනෙ නැහැ , මෙක මතු සන්බන්ධයි ලිපියක්ද :)

    එහෙනම් ඉතුරු ටිකත් ලියන්න එළ

    ජයවේවා!

    ReplyDelete
  7. @Malith
    හදිස්සියට ලියපු දේ පිළිවෙලක් නැති වුනා. ඔව් ලිපිය මතු සම්බන්ධයි..

    ReplyDelete
  8. ඉතිරි කොටසත් ඉක්මනට දාන්න...

    ReplyDelete
  9. This comment has been removed by a blog administrator.

    ReplyDelete
  10. hoday hebay therenne naha wage

    http://itpariganaka.blogspot.com/
    http://freelessonprovider.blogspot.com/
    http://free-agriculture-tutorials.weebly.com

    ReplyDelete
  11. නවකයන් සඳහා වැදගත් ලිපියක්. කෙටි ව, සරලව විස්තර කර තිබෙනවා.

    DLL ගැන intro එකක් මමත් දෙන්නම් මෙහෙම,
    මෙහෙයුම් පද්ධතිය හා විවිධ මෘදුකාංග ක්‍රියාත්මක වීමෙදි ඒවා පොදුවේ දක්වන ක්‍රියාකාරීත්වයන් තිබෙනවා. උදාහරණයක් ගත්තොත්, Paint සහ Notepad යන මෘදුකාංග දෙකේම, ගොනුවක් සුරැකීම සිදු වන්නෙ එකම ආකාරයට. ඒ, මෘදුකාංග දෙකටම පොදු වුණු Save dialog box හරහා.

    ඉතින් මේ මෘදුකාංග හදන අයට මේ මෘදුකාංග දෙකට වෙන වෙනම save dialog box දෙකක් හදන්න කරදරයි. ඒ වගේම නඩත්තු කරන්න, දෝෂ සමනය කරන්න ගියත් කරදරයි. ඉතින් මොකද කරන්නෙ මෘදුකාංග දෙකටම පොදු save dialog box එක ගලවල අරගෙන දානව වෙනම ෆයිල් එකක් ඇතුලට. දැන් මේ මෘදුකාංග දෙකටම පුළුවන් අවශ්‍යතවක් ඇති වුණොත් අර වෙනම ෆයිල් එකට පිවිසිලා save dialog box එක අරගෙන අපට පෙන්නන්න. අන්න ඒ වෙනම ෆයිල් එක තමා DLL හෙවත් dynamic link library කියන්නේ.

    ඒකත් හරියට පුස්තකාලයක් වගේ. කවුරුත් පොදුවේ පාවිච්චි කරන පොත්පත් තියෙනවා. අවශ්‍ය කෙනා අවශ්‍ය වෙලාවට ගිහින් පරිශීලනය කරනවා.

    යම්කිසි මෘදුකාංගයක් ක්‍රියාත්මක වෙන වෙලාවට ඒ මෘදුකාංගයේ අවශ්‍යතාව අනුව DLL ගොනු එකක හෝ කීපයක හෝ තිබෙන සම්පත් (resources) භාවිත කරනවා. පළමුවන හා තුන්වන රූපසටහන් වලින් පෙන්නන්නෙ ඒකයි.

    ReplyDelete
  12. @ශාකුන්තල
    ඌණ පූරණයක් කෙරුවාට ස්තූතියි සහෝ..
    ලිපියේ තිබුනු අඩුපාඩුව මග හැරුනා කියලා හිතනවා..

    ReplyDelete
  13. ඔව් ඇත්තටම එම ලිපිය හොදයි. හොද වෙබ්මාස්ටර් කෙනෙක් වෙන්න අවශ්‍ය කරන ගොඩක් දේවල් දැන ගන්න මෙන්න මේ බ්ලොග් අඩවියෙන් පුළුවන් කැමති අය ගිහින් බලන්න.. http://freelessonprovider.blogspot.com

    ReplyDelete

ඔබේ ප්‍රතිචාර මට ගොඩක් වටිනවා..