تبلیغات :
ماهان سرور
آکوستیک ، فوم شانه تخم مرغی ، پنل صداگیر ، یونولیت
دستگاه جوجه کشی حرفه ای
فروش آنلاین لباس کودک
خرید فالوور ایرانی
خرید فالوور اینستاگرام
خرید ممبر تلگرام

[ + افزودن آگهی متنی جدید ]




نمايش نتايج 1 به 7 از 7

نام تاپيک: پایین آوردن حجم برنامه ها

  1. #1
    اگه نباشه جاش خالی می مونه Blue Rose's Avatar
    تاريخ عضويت
    May 2005
    محل سكونت
    http://AhwazSoft.ir
    پست ها
    201

    پيش فرض پایین آوردن حجم برنامه ها

    سلام
    کسی سر در می آره این چی گفته
    یعنی باید چکار کنیم

    [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]

  2. #2
    حـــــرفـه ای sa3er's Avatar
    تاريخ عضويت
    Jul 2005
    محل سكونت
    Tehran
    پست ها
    2,382

    پيش فرض

    راهكارها و شيوه هاي مختلف براي كاهش حجم فايلهايي كه با وي بي كامپايل شده و مي شوند.
    شما ميتونيد از تيم ترجمه درخواست كنيد اين متن رو براتون ترجمه كنه.
    هر چند بهترين راهكار به نظر بنده همون استفاده از packer ها هست.

  3. #3
    اگه نباشه جاش خالی می مونه Blue Rose's Avatar
    تاريخ عضويت
    May 2005
    محل سكونت
    http://AhwazSoft.ir
    پست ها
    201

    پيش فرض

    سلام
    خیلی ممنون بخاطر جواب
    اگه میشه یه مقدار در مورد packer ها توضیح بدید
    اگه راه دیگه ای هم وجود داره لطفا زحمتش رو بکشید
    من اون متن رو واسه گروه ترجمه میفرستم
    بازم ممنون

  4. #4
    آخر فروم باز WooKMaN's Avatar
    تاريخ عضويت
    Oct 2005
    محل سكونت
    Ķêŗmάņšĥąħ
    پست ها
    10,533

    پيش فرض

    ساسر جان پکیجر که بدجور حجم رو زیاد میکنه !!!

  5. #5
    مدیر انجمن برنامه نویسی Payman_62's Avatar
    تاريخ عضويت
    Dec 2005
    محل سكونت
    تهران
    پست ها
    2,445

    پيش فرض

    نقل قول نوشته شده توسط nishnish
    ساسر جان پکیجر که بدجور حجم رو زیاد میکنه !!!
    پكيجر نه عزيز پكر. مثل UPX كه براي فشرده سازي و كاهش حجم برنامه ها هستند. جلوي كرك شدن رو هم تا حدودي ميگيرن.
    حالا كسي يه پكر كه به راحتي Unpack نشه و Protector ها هم مشكل نداشته باشه كسي ميشناسه؟ يعني برنامه رو بعد از Pack بشه Protect هم كرد.

  6. #6
    اگه نباشه جاش خالی می مونه Blue Rose's Avatar
    تاريخ عضويت
    May 2005
    محل سكونت
    http://AhwazSoft.ir
    پست ها
    201

    پيش فرض

    سلام
    متن رو دوستان زحمت کشیدن ترجمه کردن که من اینجا میزارمش
    ------------------------------------------------------------------------
    چگونه فایل های VB EXE کوچکتر از 5k بسازیم.

    بیشترین استفاده را از فایل EXE خود ببرید.

    همه می دانیم که VB فایل های EXE بزرگی می سازد, حتی اگر شما یک بخش خالی اضافه کنید. من فکر می کنم که حداقل اندازه ای که شما می توانید از VB بگیرید 12k است. یک فرم اضافه کنید و این اندازه به 16k هم می رسد.
    قبل از اینکه از ابزار هایی که معرفی می کنم استفاده کنید چند کار ساده می توانید انجام دهید. (توجه کنید که ما تصور می کنیم شما روی یک برنامه خیلی کوچک VB کار می کنید نه یک محصول کامل.)

    برداشتن کد های سرعت

    در اول از آنجا که هدف ما کم کردن اندازه است, کد هایی مثل Variable1 = API Call Va ' riable2 = API call(Variable1) Variable3 = TrimNull(Variable2) را برداشته و با یک خط ساده TrimNull(API Call(API Call)) تعویض کنید. سعی کنید هر چند تا متغیر که می توانید از کد خود پاک کنید.

    حقه بعدی این است که VB اسم پروژه شما را در فایل اجرایی ذخیره می کند. و بعضی مواقع بیش از یک بار. مانند اسم فرم یا مدول شما. شما می توانید فایل را حتی کوچکتر کنید با تغییر نام پروژه خود و اجزاء آن به یک کاراکتر.

    و بالاخره آخرین بهینه سازی که شما می توانید انجام دهید (که به افزایش سرعت نیز کمک میکند.) تعویض اسم های مستعار با اسم واقعی API. از ShellExecuteA به جای ShellExecute Alias "ShellExecuteA" استفاده کنید. و حتی بهتر اگر شما برای کامپیوتر خود و یا یک سیستم عامل (مثلآ XP) برنامه می نویسید اسم API را با عدد ترتیبی(Ordinal) آن تعویض کنید. عدد Ordinal شماره ای است محل API را در DLL مشخص می کند. شما می توانید از ابزار "Depends" برای یافتن ordianl یک عمل استفاده کنید که در VB6 وجود دارد. سپس فقط از "ShellExecuteA Lib "user32" Alias "#xxx" استفاده کنید که در آن XXX در واقع ordinal برای ShellExecuteA می باشد. این عمل حتی کد شما را سریعتر هم می کند و البته کوچکتر.

    آخرین راهکار البته کامپایل کردن با P-code است زیرا یاد آور می شوم که ما به دنبال سرعت نیستیم.

    اما به هر حال ممکن است شما متوجه شوید که حتی بعد از این بهینه سازی ها فایل شما هنوز به همان اندازه است. به این خاطر است که VB از یک خط کشی خیلی بزرگ استفاده می کند(فاصله بین بخشها در یک فایل اجرایی) و فایل شما با NULL (صفر) هایی پر می شود که به 12k می رسد. و اینجاست که کار کمی پیچیده می شود.

    Packerها

    اولین انتخاب شما استفاده از یک packer به نام FSG است (در google به دنبال FSG 1.33 بگردید). packer فایل شما را در حدود 3k میکند.

    یا می توانید از CompileController این سایت استفاده کنید (توجه کنید که کد از VBPJ توسط نویسنده قرض گرفته شده است) و در زمان لینک دادن /FILEALIGN:0x200 را مشخص کنید. این کار باعث می شود که VB یک فایل EXE پاک ولی در حدود 5-6k بسازد, به جای فایلی که در حافظه اجرا می شود (مانند FSG). بهتر است این مشکل را داشته باشید و فقط به حای آن از FSG استفاده کنید. به هر حال این کار از UPX بهتر است.

    پاک کردن resourceها

    به هرحال شما ممکن است بخواهید مقدار بیشتری از حجم فایل خود را کاهش دهید. من قول 1-2k را داده بودم ه 3k که احتمالا FSG ساخته است. خوب, بعد از کامپایل کردن فایل اجرایی آنرا با Resource Hacker (در google بیابید) باز کنید و تمام resource های داخل آنرا پاک کنید (اطلاعات version و iconها). ولی هنوز آنرا ذخیره نکنید زیرا packerها فایل های بدون resource را فشرده کنند. حقه اینجا ساختن یک فایل یک بایتی (توسط notepad) است. و ذخیره کردن آن در جایی. سپس در resource hacker به منوی action رفته و گزینه add new resource را انتخاب کنید. فایلی را الان ساختید انتخاب کنید. و از نوع3 و اسم 1 استفاده کنید. فایل شما الآن یک آیکون یک بایتی دارد. آنرا ذخیره کنید.

    فایل اجرایی 12k باید الآن 11k باشد, یا شاید 10.5 یا شاید هنوز 12k باشد به خاطر پد ها ولی نگران نباشید. FSG تفاوت را میبیند. آنرا روی فایل بدون resource استفاده کنید و باید به 2k برسید.

    البته دوباره یادآور می شوم که در این مقاله فرض شده است که شما روی یک فایل کمکی کوچک برای برنامه اصلی خود کار می کنید. که هیچ آیکونی ندارد, کدهای بهینه سازی نشده دارد و بسته به نوع تکنیک API که از آن استفاده می کنید فقط روی یک سیستم عامل کار می کند. اما به هر حال اگر این آن چیزی است که شما به دنبالش هستید این مقاله به شما کمک می کند تا از شر آن فایل های بزرگ 16k خلاص شوید. به عنوان آخرین راهکار سعی کنید از کدهای API به جای فرمها/کنترلها استفاده کنید. به دنبال مثال های کد خوب Viktor E. بگردید.

    امیدوارم هر کس از این مقله چیزی آموخته باشد.
    -------------------------------------------------------
    در ضمن در مورد این چیزهایی (پکیجر و پکر) که مینویسید یه خورده توضیح بدید

  7. #7
    Super Moderator Shahin King's Avatar
    تاريخ عضويت
    Mar 2005
    محل سكونت
    گیلان
    پست ها
    6,795

    پيش فرض

    سلام

    دوست عزیز تشکر

    قربانت : شاهین

    =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
    PDF همین مقاله

Thread Information

Users Browsing this Thread

هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)

User Tag List

قوانين ايجاد تاپيک در انجمن

  • شما نمی توانید تاپیک ایحاد کنید
  • شما نمی توانید پاسخی ارسال کنید
  • شما نمی توانید فایل پیوست کنید
  • شما نمی توانید پاسخ خود را ویرایش کنید
  •