Perbedaan Antara Fungsi Makro dan Inline

Perbedaan Utama - Macro vs Inline Fungsi
 

Makro adalah fragmen kode, yang merupakan arahan preprosesor. Fungsi sebaris adalah fitur peningkatan C ++ untuk meminimalkan waktu eksekusi suatu program. Oleh karena itu, perbedaan utama antara Fungsi Makro dan Inline adalah itu makro diperiksa oleh preprocessor sementara fungsi inline diperiksa oleh kompiler.

Makro disertakan pada awal program yang diawali dengan tanda pagar. Ketika ada nama makro dalam program, itu digantikan oleh konten makro.

ISI

1. Ikhtisar dan Perbedaan Utama
2. Apa itu Makro
3. Apa Fungsi Inline
4. Perbandingan Berdampingan - Fungsi Makro vs Inline dalam Bentuk Tabular
5. Ringkasan

Apa itu Makro??

Preprocessor adalah program yang memproses kode sumber sebelum melewati kompiler. Ini beroperasi menggunakan baris perintah preprocessor atau arahan. Dalam program ini, arahan preprosesor ditempatkan di program sumber sebelum program utama. Sebelum kode sumber melewati kompiler, ia diperiksa oleh preprocessor untuk arahan preprocessor. Arahan preprocessor memiliki simbol #. Tidak seperti pernyataan lain, mereka tidak diakhiri dengan tanda titik koma. Salah satu jenis arahan preprosesor adalah makro. Umumnya, makro ditulis dalam huruf kapital.

Gambar 01: Program C ++ dengan Macro

Menurut program di atas, baris 3 dan baris 4 menunjukkan makro. Saat menghitung area, nilai PI diganti menggunakan makro yang ditentukan. Pada baris 14, volume = CUBE (nilai), preprocessor memperluas pernyataan sebagai volume = (nilai * nilai * nilai). Menemukan kubus dapat ditulis sebagai fungsi, tetapi di sini ditulis menggunakan makro. Jika ada pernyataan sebagai volume = CUBE (x + y), maka akan diperluas ke volume = (x + y * x + y * x + y).

Beberapa token pemrograman mungkin dengan mudah salah ketik. Mereka dapat diganti menggunakan makro. misalnya #define AND &&, #define OR ||. Definisi makro juga dapat menyertakan ekspresi seperti #define AREA 4 * 5.56.

Apa itu Fungsi Inline?

Ketika suatu fungsi dipanggil, kompiler membutuhkan waktu untuk menjalankannya. Jika fungsinya tidak terlalu kompleks, pemrogram dapat mengonversi fungsi menjadi fungsi inline. Lihat program di bawah ini.

Gambar 02: Fungsi tanpa Inline

Print_hello adalah fungsi sederhana. Ini mencetak string "Halo" ketika fungsi dipanggil. Waktu eksekusi untuk fungsi itu adalah 0,187s. Saat menggunakan kata kunci sebaris sebagai berikut, waktu eksekusi berkurang menjadi 0,064.

Gambar 03: Fungsi Inline

Oleh karena itu, dengan menggunakan kata kunci sebaris, waktu eksekusi berkurang. Fungsi sebaris mungkin tidak berfungsi jika ada loop, beralih pernyataan dan jika fungsi berisi variabel statis atau fungsi rekursif.

Apa Perbedaan Antara Fungsi Makro dan Inline?

Fungsi Makro vs Inline

Makro adalah fragmen kode, yang merupakan arahan preprosesor yang disertakan pada awal program yang didahului oleh tanda pagar. Fungsi sebaris adalah fitur peningkatan C ++ untuk meminimalkan waktu eksekusi suatu program.
Waktu Evaluasi
Dalam makro, argumen dievaluasi setiap kali digunakan dalam program. Secara inline, argumen dievaluasi sekali.
Diperiksa oleh
Makro diperiksa oleh preprocessor. Fungsi inline diperiksa oleh kompiler.
 Kata kunci
Marco menggunakan #define. Fungsi sebaris menggunakan kata kunci 'sebaris'.
Pemakaian
Makro dapat digunakan untuk mendefinisikan konstanta, ekspresi, untuk substitusi teks literal dan untuk mendefinisikan fungsi dll. Fungsi sebaris dapat digunakan untuk meminimalkan waktu eksekusi program.
Penghentian
Makro berakhir dengan baris baru. Fungsi sebaris berakhir dengan penjepit keriting di akhir fungsi sebaris.
Mendefinisikan Point
A Marco didefinisikan di awal program. Fungsi sebaris bisa di dalam atau di luar kelas.

Ringkasan - Bucro vs Inline Fungsi

Artikel ini membahas perbedaan antara Fungsi Makro dan Inline. Konsep-konsep ini digunakan dalam pemrograman C ++. Perbedaan antara Fungsi Makro dan Inline adalah bahwa makro diperiksa oleh preprocessor sedangkan fungsi inline diperiksa oleh kompiler.

Referensi:

1. "Arahan Preprosesor." Cplusplus.com. Tersedia disini 
2. "Fungsi C Inline." Www.tutorialspoint.com, Tutorials Point, 19 Maret 2018. Tersedia di sini