Artikel ini bermaksud menjelaskan perbedaan berbagai jenis compiler C, library C, dan juga bagaimana kita bisa memakai SDK (software development kit) untuk suatu platform dengan Compiler C alternatif.
Compiler C
Tugas compiler C adalah menerjemahkan kode dalam bahasa C ke assembly. Kebanyakan compiler bisa membuat file teks .s (source assembly) yang kemudian bisa dicompile dengan assembler menjadi binary. Sebagian compiler langsung menghasilkan kode biner.

Ketika memprogram microcontroller atau sistem lain yang tidak memakai sistem operasi, kita cuma perlu mengubah alamat memori tertentu untuk melakukan input/output (jika CPUnya mendukung memory-mapped I/O), atau menggunakan instruksi I/O khusus. Sistem semacam ini sebut dengan sistem “freestanding”. Di sistem semacam ini bahkan tidak wajib ada fungsi bernama “main”, programmer yang mendefinisikan fungsi mana yang harus dimulai. Di sistem freestanding, kita bisa membuat program TANPA library C sama sekali.
