Tuesday, July 26, 2011

Lazarus: যেভাবে exe ফাইলের সাইজ কমানো যায়

লাজারুস দিয়ে খুব সহজেই বিভিন্ন প্রোগ্রাম তৈরি করা যায়, তাও আবার গ্রাফিক্যাল ইন্টারফেসে। এটি দিয়ে উইন্ডোজ,ম্যাক ও লিনাক্সের জন্য এ্যাপ্লিকেশন তৈরি করা সম্ভব। এটি ফ্রি এবং ডেলফির বিভিন্ন কোড এতে খুব সহজেই ব্যবহার করা যায়। (উইকিপিডিয়ায় বিস্তারিত দেখতে এখানে ক্লিক করুন।)

Lazarus 0.9.26 on Mac screenshotলাজারুশ দিয়ে ইএক্সই ফাইল তৈরি করা যায় খুব সহজেই। লাজারুস থেকে F9 (বা টুলবারের প্লে বাটন) চাপলেই কোডগুলো কম্পাইল হয় এবং .exe ফাইল তৈরি হয়ে যায়। কিন্তু সেই ই এক্স ই ফাইলটির সাইজ একটু বেশি থাকে কারণ এতে ডিবাগিং সম্পর্কিত কিছু তথ্য included থাকে। এসব তথ্য ইউজারের কাছে অপ্রয়োজনীয়। এসব তথ্যের কারণে একটি বেসিক সফটওয়্যারের সাইজও ১২-১৩ মেগাবাইট হয়ে যায়। তাই অপ্রয়োজনীয় এসব ডাটা ফেলে দিয়ে আমাদের ইএক্সইটিকে ৬০০ থেকে ৮০০ কিলোবাইটের কাছাকাছি নিয়ে আসতে পারি। এজন্য আমরা Strip এবং UPX নামক দুটি টুল ব্যবহার করবো। ওয়েবে সার্চ করে দেখবেন এই টুল দুটো রান উপায় সবাই এভাবে বলে- "কমান্ড প্রম্পটে কমান্ড লিখে সেগুলো রান করুন"। কিন্তু আমরা একটু গ্রাফিকালি কাজটা করতে চাই। এজন্য আমরা লাজারুসের এক্সটারনাল টুল অপশনটি ব্যবহার করবো।



ইএক্সই ফাইলের সাইজ কমানোর জন্য:
(1) প্রথমে এটিকে Strip করতে হয় যাতে এতে থাকা ডিবাগিং সম্পর্কিত তথ্য মুছে যায় তারপর
(2) UPX দিয়ে কমপ্রেস করতে হয়।


কিভাবে করবেন কাজটি?

স্টেপ-১ : EXE আছে তো?!
প্রথমে লাজারুস খুলুন।
আপনার কাঙ্ক্ষিত প্রোজেক্টটি Open করুন।
F9 চেপে কম্পাইল করুন। এতে exe ফাইলটি তৈরি হবে।

স্টেপ-২ : প্রস্তুতি
  • Tools - Configure external tools মেনুতে ক্লিক করুন।
  • [ + Add ] বাটনে ক্লিক করুন।
  • নিম্নোক্ত ভ্যালুগুলো দিন:
    - Title-এর ঘরে লিখুন: Strip current EXE
    - Program Filename এর ঘরে লিখুন: C:\lazarus\fpc\2.6.0\bin\i386-win32\strip.exe
    (যদি আপনি অণ্য কোনো ড্রাইভে লাজারুস ইন্সটল করে থাকেন তাহলে সেই প্যাথ ঠিকমত দিন। এখানে c:\lazarus ডিরেক্টরিতে ইন্সটলকৃত লাজারুসের জন্য প্যাথ দেয়া হল। সেইসাথে 2.6.0 এর জায়গায় আপনার FPC (Freepascal) ভার্সনটি দিন। ভার্সনটি পাবেন Help - About মেনু থেকে।)
    - Parameters ঘরে লিখুন: --strip-all "$TargetFile()"
  • OK বাটনে ক্লিক করুন।

  • আবার [ + Add ] বাটনে ক্লিক করুন।
  • নিম্নোক্ত ভ্যালুগুলো দিন:
    - Title-এর ঘরে লিখুন: UPX current EXE
    - Program Filename এর ঘরে লিখুন: C:\lazarus\fpc\2.6.0\bin\i386-win32\upx.exe
    (যদি আপনি অণ্য কোনো ড্রাইভে লাজারুস ইন্সটল করে থাকেন তাহলে সেই প্যাথ ঠিকমত দিন। এখানে c:\lazarus ডিরেক্টরিতে ইন্সটলকৃত লাজারুসের জন্য প্যাথ দেয়া হল। সেইসাথে 2.6.0 এর জায়গায় আপনার FPC (Freepascal) ভার্সনটি দিন। ভার্সনটি পাবেন Help - About মেনু থেকে।)
    - Parameters ঘরে লিখুন: "$TargetFile()"। (আপনি যদি এ্যাডভান্সড ইউজার হন তাহলে এখানে আরো প্যারামিটার দিতে পারেন।)
  • OK বাটনে ক্লিক করুন।
  • আবার OK বাটনে ক্লিক করে বেরিয়ে আসুন।

দেখবেন Tools মেনুতে নতুন দুটি মেনু আইটেম যুক্ত হয়েছে:




স্টেপ-৩ : এরপর শুধুই আরাম...
এরপর থেকে যখনই আপনি ইএক্সই ফাইল তৈরি করবেন (F9 চেপে) তারপরই:
(১) Tools - Strip current EXE মেনুতে ক্লিক করুন। তার কিছুক্ষণ পরে...
(২) Tools - UPX current EXE মেনুতে ক্লিক করুন

কিছুক্ষণ অপেক্ষ করুন। তারপর আপনার যে ফোল্ডারে ইএক্সইটি আছে সেখানে যান। অথবা ফোল্ডারটি আগেই ওপেন করা থাকলে Refresh করুন। দেখবেন আপনার ইএক্সই ফাইলের সাইজ অনেক কমে এসেছে।

মজার তাইনা?
উপভোগ করুন! আপনার সফটওয়্যার বন্ধুদের মাঝে বিলিয়ে দিন!!

বোনাস টিপ!!

আমাদের মাঝে মাঝেই প্রোজেক্টের প্যাথটি এক্সপ্লোরারে ব্রাউজ করতে হয়। এজন্য বার বার এক্সপ্লোরার খুলে ফোল্ডারের পর ফোল্ডার হাতরে প্রোজেক্ট ফোল্ডার ওপেন করতে হয়। অথচ লাজারুসের ভিতর থেকেই এটি করা সম্ভব।

এর জন্য শুধু একটি নতুন টুল যোগ করুন:

  • Tools - Configure external tools মেনুতে ক্লিক করুন।
  • [ + Add ] বাটনে ক্লিক করুন।
  • নিম্নোক্ত ভ্যালুগুলো দিন:
    Title: Explore Project Path
    Program File name: C:\windows\explorer.exe
    Parameter: $Path("$TargetFile()")
  • তারপর OK এবং আবার OK ক্লিক করুন।
এবার যখনই প্রোজেক্ট প্যাথ ওপেন করতে হবে, শুধু Tools -  Explore Project Path এ ক্লিক করলেই ... আরাম!

আপডেট:

১৫ অক্টোবর ১২:
১. আপনার প্রোজেক্ট ফাইলটির প্যাথে যদি স্পেস থাকে তাহলে $TargetFile() এর দুপাশে ডাবল কোট দিতে হবে। অর্থাৎ "$TargetFile()"। নাহলে কমান্ড লাইনের নিয়ম অনুযায়ী স্পেসের পরের অংশটি প্যারামিটার হিসেবে গণ্য হবে।
২. লাজারুসের সাথে FPC (Freepascal) ইন্সটল হয়। তা তো হবেই, কারণ আপনার প্রোগ্রাম কম্পাইল করার জন্য FPC তো লাগবেই। লাজারুসের নতুন ভার্সনের সাথে সাথে FPC'র ভার্সন প্রায়ই পরিবর্তন হয়। সে অনুযায়ী কমান্ড লাইন (CLI) টুলগুলোর প্যাথ পরিবর্তন করতে হবে।
৩. বোনাস টিপ যোগ করলাম- Explore Project Path।

0 comments:

 

Blogroll

Translate This Blog

Copyright © আদনানের ব্লগ Design by BTDesigner | Blogger Theme by BTDesigner | Powered by Blogger