Cara Mengurangkan Saiz Exe

Isi kandungan:

Cara Mengurangkan Saiz Exe
Cara Mengurangkan Saiz Exe

Video: Cara Mengurangkan Saiz Exe

Video: Cara Mengurangkan Saiz Exe
Video: Cara Kompres File JPG JPEG Sesuai Ukuran Yang Di Inginkan 2024, Mungkin
Anonim

Sebilangan kecil RAM dan peranti penyimpanan jangka panjang pada komputer peribadi pada masa lalu mengenakan sekatan yang sangat ketat terhadap ukuran program. Masalah ini tidak wujud sekarang. Walau bagaimanapun, walaupun sekarang kadang-kadang penting untuk meminimumkan ukuran exe-modul aplikasi yang dikembangkan sebanyak mungkin.

Cara mengurangkan saiz exe
Cara mengurangkan saiz exe

Perlu

  • - sumber;
  • - penyusun, penghubung;
  • - pemampat modul PE, seperti UPX, Themida.

Arahan

Langkah 1

Bina versi pelepasan aplikasi yang dapat dilaksanakan. Pilih konfigurasi yang sesuai dalam tetapan projek di IDE. Sekiranya tidak ada konfigurasi seperti itu, buatlah berdasarkan konfigurasi yang ada. Ubah suai senarai pilihan penghubung dengan membuang dan menambah arahan yang sesuai. Oleh itu, apabila menggunakan pakej pengembangan dari Microsoft, anda harus membuang pilihan / debug. Anda juga boleh menambahkan arahan berikut ke kod sumber: #pragma comment (linker, "/ RELEASE")

Langkah 2

Konfigurasikan projek untuk mengelakkan menghubungkan yang boleh dilaksanakan dengan perpustakaan statik sebanyak mungkin. Gunakan versi perpustakaan masing-masing. Contohnya, anda boleh mengecualikan kod perpustakaan runtime C dan C ++ dengan menggantikan pilihan penghubung / ML atau / MT (perpustakaan tunggal dan multi-utas statik) dengan / MD (CRT DLL multi-utas).

Langkah 3

Pertimbangkan untuk menggabungkan bahagian yang berbeza dari modul exe menjadi satu. Kaedah ini tidak akan memberikan hasil yang ketara jika failnya cukup besar, tetapi dengan ukuran modul awal 20-30 kilobyte, keuntungan dapat signifikan. Pilihan / penggabungan penghubung membolehkan anda menggabungkan bahagian. Anda boleh menetapkannya melalui parameter projek: / merge:.text =.data /merge:.reloc=.data /merge:.rdata=.data atau menggunakan arahan pragma dalam kod sumber: #pragma comment (linker, "/ merge:.text =.data ") # komen pragma (linker," /merge:.reloc=.data")#pragma comment (linker, "/merge:.rdata=.data")#pragma comment (linker," / merge:.idata =.data ") Juga masuk akal untuk menentukan atribut bahagian yang dihasilkan: #pragma comment (linker," /section:.data, rwe ")

Langkah 4

Kurangkan ukuran exe dengan menetapkan nilai minimum ukuran blok di sepanjang batas yang bahagiannya diselaraskan. Gunakan pilihan / filealign linker yang ditentukan dengan mengedit sifat projek atau arahan pragma: #pragma comment (linker, "/ filealign: 0x200") Kaedah ini sesuai untuk modul kecil.

Langkah 5

Cuba kurangkan ukuran fail exe dengan membinanya dengan pilihan pengoptimuman untuk mengurangkan jumlah kod mesin. Ganti pilihan penyusun / O2 atau / Od dengan / O1.

Langkah 6

Ganti stub DOS standard dalam modul exe dengan modul anda sendiri, yang akan mempunyai ukuran minimum. Gunakan pilihan / stub linker: #pragma comment (linker, "/stub:mystub.exe") Berikut mystub.exe adalah nama fail boleh laku DOS yang akan ditambahkan ke modul exe sebagai rintisan.

Langkah 7

Pertimbangkan untuk menentukan tempat masuk anda sendiri ke aplikasi. Ini akan menghilangkan kod inisialisasi perpustakaan runtime statik. Gunakan pilihan / entri penghubung, sebagai contoh: #pragma comment (linker, "/ entry: MyStartup") batal MyStartup () {:: MessageBox (NULL, "Hello!", "Message!", MB_OK);}

Langkah 8

Gunakan utiliti pembungkusan seperti UPX, ASPack, Themida, PEC Compact ke fail exe yang sudah siap. Data modul akan dimampatkan. Mereka akan dibongkar ke dalam memori setelah melancarkan aplikasi. Kaedah ini memberikan hasil yang baik untuk fail exe yang besar yang mengandungi sejumlah besar data statik dengan entropi rendah (contohnya, raster DIB di bahagian sumber).

Disyorkan: