sebenarnya macro itu ada juga di bahasa2 lain, seperti assembly ==>
masm, tasm, as86, etc. bahasa2 scripting juga punya macro: tex (latex
adalah macro dari tex).. saya rasa istilah ini sangat umum.
intinya macro ini dapat digunakan untuk menyederhanakan penulisan --
tidak berhubungan dengan isu efisiensi.
tetapi ada juga kekurangannya, karena dengan menggunakan macro lebih
sulit untuk melakukan debugging jika menggunakan step / breakpoint,
karena tidak jelas bagian source code mana yang menghasilkan breakpoint
(pada hasil kompilasi macro telah di-expand, sedang pada source code
tidak). jadi macro sebaiknya digunakan untuk mempermudah pembacaan dan
untuk portabilitas (digabungkan preprocessor dengan #ifdef / #define /
#undef / etc.), tetapi jangan over-use.
juga, biasanya macro ini diproses secara one-pass, jadi kita tidak dapat
mendefinisikan macro yg rekursif.
Danny Kurniawan wrote:
itu maksudnya macro... di C/C++ terdapat fasilitas untuk mendefinisikan macro
yang setahu saya sampai saat ini belum ada di bahasa pemrograman lainnya...
seperti namanya, macro bisa diartikan search & replace atau bisa diartikan
sebagai inline... anyway... maksudnya... kalo compiler menemukan teks:
MY_CALLOC(x, y)
maka compiler akan melakukan search & replace menjadi:
(y *)calloc(x, sizeof(y))
begitulah maksudnya... jadi tergantung kita memasukkan apa di parameternya...
lebih jelasnya lihat ke manual GCC (entah ada atau tidak... saya tidak ingat)
atau ke buku2 tentang C/C++
[...deleted...]
--
Berhenti langganan: [EMAIL PROTECTED]
Arsip dan info: http://linux.or.id/milis