Solusi Latihan 0
Preprocessor
Lakuikan proses preprocessing terhadap program
fungsi_persiapan.cpp
danpersiapan.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 menggunakanpersiapan.h
akan berubah menjadi1.0
.
Lakukan kompilasi dengan opsi
-D PIBULAT
, apa yang terjadi pada direktif#ifdef ... #endif
?Direktif
#define PI 3
akan berlaku yang akan mengubah nilaiPI
menjadi3
.
Compiler
Lakukan proses compilation terhadap program
fungsi_persiapan.cpp
danpersiapan.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
danpersiapan.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 filepersiapan.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