Bagikan melalui


Keuntungan Dari Dynamic Linking

Penautan dinamis memiliki keuntungan berikut daripada penautan statis:

  • Beberapa proses yang memuat DLL yang sama di alamat dasar yang sama berbagi satu salinan DLL dalam memori fisik. Melakukan ini menghemat memori sistem dan mengurangi pertukaran.
  • Ketika fungsi dalam DLL berubah, aplikasi yang menggunakannya tidak perlu dikompilasi ulang atau ditautkan ulang selama argumen fungsi, konvensi panggilan, dan nilai pengembalian tidak berubah. Sebaliknya, kode objek yang ditautkan secara statis mengharuskan aplikasi ditautkan ulang saat fungsi berubah.
  • DLL dapat memberikan dukungan purna jual. Misalnya, DLL driver tampilan dapat dimodifikasi untuk mendukung tampilan yang tidak tersedia ketika aplikasi awalnya dikirim.
  • Program yang ditulis dalam bahasa pemrograman yang berbeda dapat memanggil fungsi DLL yang sama selama program mengikuti konvensi panggilan yang sama dengan yang digunakan fungsi. Konvensi panggilan (seperti C, Pascal, atau panggilan standar) mengontrol urutan di mana fungsi panggilan harus mendorong argumen ke tumpukan, apakah fungsi atau fungsi panggilan bertanggung jawab untuk membersihkan tumpukan, dan apakah ada argumen yang diteruskan dalam register. Untuk informasi selengkapnya, lihat dokumentasi yang disertakan dengan pengkompilasi Anda.

Kerugian potensial untuk menggunakan DLL adalah bahwa aplikasi tidak mandiri; itu tergantung pada keberadaan modul DLL terpisah. Sistem mengakhiri proses menggunakan penautan dinamis waktu muat jika memerlukan DLL yang tidak ditemukan saat startup proses dan memberikan pesan kesalahan kepada pengguna. Sistem tidak mengakhiri proses menggunakan penautan dinamis run-time dalam situasi ini, tetapi fungsi yang diekspor oleh DLL yang hilang tidak tersedia untuk program.