Cara Mengecilkan Ukuran Exe

Daftar Isi:

Cara Mengecilkan Ukuran Exe
Cara Mengecilkan Ukuran Exe

Video: Cara Mengecilkan Ukuran Exe

Video: Cara Mengecilkan Ukuran Exe
Video: cara Mengecilkan size Audition.Exe Editan (File.exe lain nya) dengan UPX 2024, Mungkin
Anonim

Jumlah kecil RAM dan perangkat penyimpanan jangka panjang pada komputer pribadi di masa lalu memberlakukan pembatasan yang sangat ketat pada ukuran program. Masalah ini tidak ada hari ini. Namun, bahkan sekarang terkadang penting untuk meminimalkan ukuran modul exe dari aplikasi yang dikembangkan sebanyak mungkin.

Cara mengecilkan ukuran exe
Cara mengecilkan ukuran exe

Diperlukan

  • - sumber;
  • - kompiler, penghubung;
  • - kompresor modul PE, seperti UPX, Themida.

instruksi

Langkah 1

Bangun versi rilis aplikasi yang dapat dieksekusi. Pilih konfigurasi yang sesuai dalam pengaturan proyek di IDE. Jika tidak ada konfigurasi seperti itu, buatlah berdasarkan yang sudah ada. Ubah daftar opsi tautan dengan menghapus dan menambahkan arahan yang sesuai. Jadi, saat menggunakan paket pengembangan dari Microsoft, Anda harus menghapus opsi / debug. Anda juga dapat menambahkan arahan berikut ke kode sumber: #pragma comment (linker, "/ RELEASE")

Langkah 2

Konfigurasikan proyek untuk menghindari menautkan executable dengan pustaka statis sebanyak mungkin. Gunakan versi bersama dari perpustakaan masing-masing. Misalnya, Anda dapat mengecualikan kode pustaka runtime C dan C ++ dengan mengganti opsi tautan / ML atau / MT (perpustakaan tunggal dan multi-utas statis) dengan / MD (CRT DLL multi-utas).

Langkah 3

Pertimbangkan untuk menggabungkan bagian yang berbeda dari modul exe menjadi satu. Metode ini tidak akan memberikan hasil yang nyata jika file cukup besar, tetapi dengan ukuran modul awal 20-30 kilobyte, keuntungannya bisa signifikan. Opsi / gabungkan tautan memungkinkan Anda untuk menggabungkan bagian. Anda dapat mengaturnya melalui parameter proyek: / gabung:.text =.data /merge:.reloc=.data /merge:.rdata=.data atau menggunakan arahan pragma dalam kode sumber: #pragma comment (linker, "/ gabung:.text =.data ") # pragma komentar (penghubung," /merge:.reloc=.data")#pragma komentar (penghubung, "/merge:.rdata=.data")#pragma komentar (penghubung," / merge:.idata =.data ") Juga masuk akal untuk mendefinisikan atribut dari bagian yang dihasilkan: #pragma comment (linker," /section:.data, rwe ")

Langkah 4

Kurangi ukuran exe dengan menetapkan nilai minimum ukuran blok di sepanjang batas bagian yang disejajarkan. Gunakan opsi / filealign linker yang ditentukan dengan mengedit properti proyek atau arahan pragma: komentar #pragma (linker, "/ filealign: 0x200") Metode ini cocok untuk modul kecil.

Langkah 5

Cobalah untuk mengurangi ukuran file exe dengan membangunnya dengan opsi pengoptimalan untuk mengurangi jumlah kode mesin. Ganti opsi compiler /O2 atau /Od dengan /O1.

Langkah 6

Ganti rintisan DOS standar di modul exe dengan milik Anda sendiri, yang akan memiliki ukuran minimum. Gunakan opsi / stub linker: #pragma comment (linker, "/stub:mystub.exe")Di sini mystub.exe adalah nama file eksekusi DOS yang akan ditambahkan ke modul exe sebagai rintisan.

Langkah 7

Pertimbangkan untuk menentukan titik masuk Anda sendiri ke aplikasi. Ini akan menghilangkan kode inisialisasi perpustakaan runtime statis. Gunakan opsi / entry linker, misalnya: #pragma comment (linker, "/ entry: MyStartup") void MyStartup() {:: MessageBox (NULL, "Hello!", "Message!", MB_OK);}

Langkah 8

Terapkan utilitas pengemasan seperti UPX, ASPack, Themida, PECompact ke file exe yang sudah jadi. Data modul akan dikompresi. Mereka akan dibongkar ke dalam memori setelah meluncurkan aplikasi. Metode ini memberikan hasil yang baik untuk file exe besar yang berisi sejumlah besar data statis dengan entropi rendah (misalnya, raster DIB di bagian sumber daya).

Direkomendasikan: