Perbezaan antara LIB dan DLL

LIB vs DLL

Apabila membangunkan perisian, kami sering ditanya sama ada kami ingin menggunakan LIB atau DLL dalam fungsi yang mengandungi aplikasi tersebut. LIB adalah perpustakaan statik di mana fungsi dan prosedur boleh diletakkan dan dipanggil sebagai aplikasi sedang dikumpulkan. Perpustakaan DLL atau Link Dinamik melakukan fungsi yang sama tetapi dinamik dalam erti kata bahawa aplikasi itu boleh memanggil perpustakaan-perpustakaan ini semasa jangka masa dan bukan semasa kompilasi. Ini membentangkan beberapa kelebihan penting berbanding menggunakan LIB.

Sebagai permulaan, anda akan mempunyai satu fail yang jauh lebih besar kerana ia mengandungi semua kod semasa anda akan mempunyai banyak fail yang lebih kecil apabila menggunakan DLL. Menyusun fungsi dan prosedur anda juga akan membolehkan anda lebih mudah diguna semula kerana sebaik sahaja anda berpuas hati dengan fungsi-fungsi pada DLL kerana anda boleh menyimpannya seperti setiap versi aplikasi dan tidak perlu mengacaukannya. Anda juga boleh menggunakan DLL yang sama jika anda ingin membuat aplikasi lain yang menggunakan fungsi dan prosedur yang sama. Anda boleh terus memaut ke DLL dan bukan menyalin kod dari sumber seperti yang anda perlu lakukan dengan LIB.

Masalah dengan DLL ialah apabila anda menukar kandungan DLL. Ini boleh membawa kepada masalah versi di mana aplikasi menggunakan versi DLL yang tidak betul yang menyebabkan masalah. Anda perlu mengesan DLL anda untuk mengelakkan masalah ini. Anda tidak akan mempunyai masalah ini dengan LIB kerana anda hanya akan mendapat satu fail besar.

Apabila membangunkan perisian dan memilih DLL, anda masih akan mempunyai fail LIB dalam projek anda. Tetapi tidak seperti apabila menggunakan LIB, fail ini tidak mengandungi kod fungsi dan prosedur tetapi hanya mengaburkan bahawa program itu perlu memanggil prosedur dari DLL's.

Ringkasan:
1. DLL adalah perpustakaan yang mengandungi fungsi yang boleh dipanggil oleh aplikasi semasa jangka masa sementara LIB adalah perpustakaan statik yang kodanya perlu dipanggil semasa kompilasi
2. Menggunakan LIB akan menghasilkan satu fail yang lebih besar semasa anda berakhir dengan beberapa fail yang lebih kecil dengan DLL
3. DLL adalah lebih boleh digunakan daripada LIB apabila menulis versi baru atau aplikasi yang sama sekali baru
4. Fail DLL boleh digunakan oleh aplikasi lain manakala fail LIB tidak boleh
5. DLL adalah terdedah kepada masalah versi sementara LIB tidak
6. Anda masih mempunyai fail LIB ketika membangun perisian dengan DLL tetapi hanya mengandungi stub