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  ව්‍යාපෘතිය . මම ගානේ නොමිලේ  :-) . මෙතනින් බාගන්න