Solusi Latihan 0

Preprocessor

Lakuikan proses preprocessing terhadap program fungsi_persiapan.cpp dan persiapan.cpp. Lihat hasil file *.i yang dihasilkan.

  • Apa yang terjadi pada direktif #include "persiapan.h"?

Direktif akan berganti menjadi isi dari file persiapan.h.

  • Apa yang terjadi pada direktif #define?

Direktif akan hilang dan semua nilai SATU yang ada di kode yang menggunakan persiapan.h akan berubah menjadi 1.0.

Lakukan kompilasi dengan opsi -D PIBULAT, apa yang terjadi pada direktif #ifdef ... #endif?

Direktif #define PI 3 akan berlaku yang akan mengubah nilai PI menjadi 3.

Compiler

Lakukan proses compilation terhadap program fungsi_persiapan.cpp dan persiapan.cpp.

Apa isi dari file *.s yang dihasilkan?

*.s akan berisi instruksi dalam bahasa assembly yang secara umum berbentuk [command] [register 1] ([register 2]).

Assembler

Ubah fungsi_persiapan.cpp dan persiapan.cpp menjadi object file.

Mengapa kita cenderung mengubah masing-masing source code menjadi object file terlebih dahulu?

Hal ini memudahkan kita dalam melakukan kompilasi parsial. Misalnya apabila kita ingin mengubah file fungsi_persiapan.cpp kita tidak perlu lagi melakukan kompilasi terhadap file persiapan.cpp. Kita akan menggunakan metode ini secara sistematis saat kita membahas mengenai Makefile.

Linker

Lakukan proses linking terhadap object file yang dihasilkan dan beri nama program yang dihasilkan persiapan.

Apa hasil keluaran dari persiapan 0.5?

arcsin(0.5) = 0.523645