Membuat dll (Dynamic Linking Library) menggunakan bahasa C

Prasyarat: Saya harap Anda sudah mengenal bahasa C/C++ dan pernah menggunakan DevCpp/Pelles C untuk membuat program yang paling sederhana sekalipun untuk memperlancar pemahaman artikel ini, kalo belum juga ya gak apa2 :D

Dll (bukan "dan lain-lain" :D) merupakan pustaka dinamis standard windows yang terdiri dari beberapa fungsi atau prosedur yang diload dan diakses oleh program luar (aplikasi maupun pustaka lainnya) secara bersama-sama (shared library). Dalam tutorial ini kita menggunakan bahasa C (yang umum diajarkan di kuliahan) untuk membuat dll dan menggunakan IDE DevCpp/wxDevCpp. (Anda bisa menggunakan IDE lain kesukaan Anda, yang penting prinsipnya sama).

Bukalah IDE DevCpp, buat Project baru dengan memilih File->New->Project atau pilih icon pada toolbar New Project, kemudian pilih tab Basic. Akan muncul pop-up window New Project... Pilih template dll sebagai main project. Tuliskan nama file dll yang akan kita buat sebagai nama project dll kita, misalkan dalam contoh ini kita beri nama simple01. Jangan lupa pilih C Project pada radio button sebelah kanan bawah. Pilih lokasi penyimpanan pada direktori kerja kita.

OK… kita akan melihat sebuah project dll kita yang bernama simple01 dan dua buah file source dll.h dan dllmain.c. Ini adalah template sekaligus contoh sederhana dll yang akan kita buat. Bila kita compile maka akan menghasilkan file dll dengan nama simple01 yang berisi sebuah prosedur menampilkan message box pada window (prosedur HelloWorld). Sesederhana itu? Ya, tentu saja. Jika kita mau menambah fungsionalitas atau prosedur pada dll yang hendak kita buat kita tinggal masukan dalam file dllmain.c fungsi atau prosedur yang kita inginkan dan mendeklarasikannya di dll.h (atau bisa anda ubah sesuai dengan yang Anda kehendaki).

Baiklah, sekarang kita ambil sebuah contoh, kita akan memasukkan ke dalam dll itu 2 buah fungsi (umumnya dalam satu file dll akan memiliki beberapa fungsi yang memiliki karakteristik yang sama untuk memudahkan, misal file dll untuk menghitung luas, semua fungsi penghitung luas dimasukan dalam satu dll). Fungsi pertama yang akan kita letakan dalam dll adalah mencari suku ke-n dari suatu barisan Fibonacci dan suku ke-n dari barisan Aritmatika. Ingatkan rumus tuk kedua fungsi ini? Kalo gak ingat nih saya kasih tau disini, untuk barisan Fibonacci (UFn) rumusnya:


Untuk barisan Aritmatika (UAn): dimana: a = suku pertama barisan aritmatika, b = interval antar barisan.
Semua n adalah bilangan bulat positif.

Disini kita bisa melihat untuk UF masukannya berupa satu parameter yaitu n, dan Barisan Aritmatika masukannya ada 3 yaitu n, a, dan b yang kesemuanya adalah bilangan bulat (kita batasi hanya sampai 35). Di bawah ini adalah code untuk fungsi fibonacci:

Sedangkan untuk fungsi aritmatika kurang lebih seperti ini:

Langkah selanjutnya kita deklarasikan nama kedua fungsi tersebut ke dllmain.h dan sebelumnya kita hapus terlebih dahulu prosedur HelloWorld dalam deklarasi (karena kita tidak akan menggunakannya bukan :D ). Sehingga dllmain.h kita akan tampak seperti ini:

Kemudian masukan kedua kode/fungsi tersebut diantara baris kode dalam dllmain.c dibawah ini (gambar):


Compile project kita.. Jika tidak ada kesalahan maka di direktori kerja kita telah tercipta file simple01.dll yang berisi dua fungsi yang kita buat barusan yaitu Ufibo dan UArit. Nah di artikel mendatang akan saya jelaskan bagaimana mengggunakan file dll ini dalam program C kita. Bisa anda lihat disini .

Sampai disini dulu. Selamat mencoba dan berkreasi.
Ada pertanyaan? :)

January 23, 2008 by Supriadi, S.Kom

Posted in Programming | 1 Comments »



Comments:

wah nggak ngerti cup.. :D

Posted by goz on March 04, 2008 at 11:08 AM WIT #

Post a Comment:
  • HTML Syntax: Allowed