Program aplikasi paling sederhana, untuk menampilkan string Hello world!
ke layar.
File hello.c
:
#include <stdio.h>
int main(void)
{
puts("Hello world!");
return 0;
};
Untuk mengcompile program di atas, gunakan perintah berikut:
$ gcc hello.c
Jika perintah ini sukses (sudah selayaknya, kalau tidak, berarti tools-tools yang dibutuhkan belum terinstall dengan baik), maka di current directory akan ada file executable baru yang bernama a.out. Ini adalah program executable kita.
Untuk menjalankannya:
$ ./a.out
Hello world
Sekarang, setelah kita selesai membuat program Hello world!, mari kita lihat proses kompilasi secara lebih detil pada bab berikutnya.
Catatan:
main
didefinisikan agar mengembalikan nilai int
(bukan void
) sebagai return-value, karena standar ANSI menyebutkan demikian. Jika kita mendefinisikan fungsi main
sebagai void main
, maka return value dari program akan tidak terdefinisi (kebanyakan akan mengembalikan nilai non-zero), padahal shell menganggap bahwa kalau suatu program return-valuenya non-zero, berarti program itu error.puts()
, bukan printf()
untuk menampilkan Hello world, karena:
puts
akan secara otomatis menambahkan newline setelah menampilkan string.printf()
akan mem-parse string format untuk mencari karakter '%'
, dan kemudian memasukkan argumen sesuai dengan urutannya. Jika kita tidak hati-hati (misalnya tidak sengaja memasukkan karakter '%'
dalam string), maka bisa terjadi kompile error, run-time error, atau hal lain yang tidak kita inginkan. Oleh karena itu, jika memang kita tidak bermaksud untuk memberikan argumen pada Hello world kita, lebih aman memakai puts()
.'./aout'
. Ini berarti bahwa yang dijalankan adalah program a.out yang ada di current directory. Jika kita tidak menambahkan karakter-karakter ini, maka Linux (dalam hal ini shell) akan mencari file a.out di PATH, sehingga kalau current directory tidak disebutkan di PATH, maka eksekusi akan gagal.