Teknik Elektro LinksThermostat, Panel Bel, Board Mikro, Driver Relay.

First Thing First – Instalasi GCC Pada Debian 7 (Wheezy)

Selamat datang di Linux Forte – blog yang berisi catatan seputar linux dibidang Teknik Elektro. Blog ini dibuat pada Januari 2015 dan ini adalah tulisan pertama. Semoga bermanfaat.

GCC (GNU Compiler Collection) adalah sistem kompiler yang dikeluarkan oleh GNU Project yang mendukung berbagai bahasa pemrograman antara lain C, C++, Fortran, Ada, Java, Objective-C, Objective-C++ dan Go. Pada awalnya (1987) GCC adalah kependekan dari GNU C Compiler karena hanya mendukung bahasa pemrograman C. Pada bulan Desember di tahun yang sama, GCC telah mendukung C++ dan selanjutnya mengalami perkembangan hingga mendukung berbagai bahasa pemrograman dan berbagai platform termasuk mikrokontroler (AVR, ARM, PIC).

Mengapa Instalasi GCC saya jadikan tulisan pertama? Karena GCC adalah komponen utama dalam GNU Toolchain. Programmer berplatform linux tidak bisa bekerja tanpa GCC terinstalasi di sistem. Jadi instalasi GCC sangatlah penting.

Instalasi GCC

Pada distro linux Debian dan turunannya seperti Ubuntu, GCC terdapat dalam paket build-essential. Untuk melakukan instalasi berikut adalah langkah-langkahnya.

  1. Pastikan koneksi internet lancar
  2. Buka terminal
  3. Lakukan update dan upgrade dengan perintah
    $sudo apt-get update && apt-get upgrade
  4. Lakukan instalasi dengan perintah
    $sudo apt-get install build-essential
  5. Tunggu dengan sabar hingga instalasi selesai. Boleh sambil makan, minum kopi, bercanda atau sholawatan.
  6. Jika sudah selesai, lakukan pengecekan instalasi dengan perintah
    $gcc -v
  7. Lakukan juga pengecekan dengan perintah
    $make -v

Jika Anda mendapatkan respon yang sama atau mirip seperti tampilan berikut ini, maka instalasi GCC telah berhasil.

gccmakesuccess

Namun demikian, pengecekan akan lebih afdhol dengan membuat program C sederhana seperti listing program berikut ini.

linecircle.c

/*
	Bresenham's Line & Circle Demo
	Chandra MDE - http://linux.teknikelektrolinks.com
*/

#include <stdlib.h>
#include <string.h>
#include <stdio.h>

#define MAXLINE 22

char *screen[MAXLINE];
char init_OK = 0;

int screen_init()
{
	int i;
	for (i=0; i<MAXLINE; i++)
	{
		screen[i] = (char *)calloc(80, sizeof(char));
		if (screen[i]==NULL) return 0;
		memset(screen[i], ' ', 79);
	}
	init_OK = 1;
	return 1;
}


void screen_print()
{
	int i;
	for (i=0; i<MAXLINE; i++) printf("%s\r\n", screen[i]);
}


void screen_outxy(int x, int y, char *s)
{
	while (*s) memset(screen[y-1]+x++ -1, *s++, 1);
}


void screen_free()
{
	int i;
	for (i=0; i<MAXLINE; i++) free(screen[i]);
}


void line(int x0, int y0, int x1, int y1)
{
	int dx = abs(x1-x0), sx = x0<x1 ? 1 : -1;
	int dy = abs(y1-y0), sy = y0<y1 ? 1 : -1;
	int err = (dx>dy ? dx : -dy)/2, e2;

	for(;;)
	{
		screen_outxy(x0+1,y0+1, "*");
		if (x0==x1 && y0==y1) break;
		e2 = err;
		if (e2 >-dx) { err -= dy; x0 += sx; }
		if (e2 < dy) { err += dx; y0 += sy; }
	}
}


void circle(int x0, int y0, int radius)
{
	int x = radius, y = 0;
	int radiusError = 1-x;

	while(x >= y)
	{
		screen_outxy(x + x0, y + y0, "*");
		screen_outxy(y + x0, x + y0, "*");
		screen_outxy(-x + x0, y + y0, "*");
		screen_outxy(-y + x0, x + y0, "*");
		screen_outxy(-x + x0, -y + y0, "*");
		screen_outxy(-y + x0, -x + y0, "*");
		screen_outxy(x + x0, -y + y0, "*");
		screen_outxy(y + x0, -x + y0, "*");
		y++;
		if (radiusError<0)
		{
			radiusError += 2 * y + 1;
		}
		else
		{
			x--;
			radiusError+= 2 * (y - x + 1);
		}
	}
}


int main()
{
	printf("Bresenham's Line & Circle\n");
	if (!screen_init()) exit(1);
	line(2, 1, 52, 1);
	line(52, 1, 52, 5);
	line(52, 5, 2, 5);
	line(2, 5, 2, 1);
	screen_outxy(6, 4, "Chandra - http://linux.teknikelektrolinks.com");
	circle(5, 17, 3);
	circle(16, 16, 4);
	circle(29, 15, 5);
	circle(44, 14, 6);
	circle(61, 13, 7);
	line(60, 9, 63, 12);
	line(63, 12, 60, 15);
	line(60, 15, 57, 12);
	line(57, 12, 60, 9);
	screen_print();
	screen_free();
	return 0;
}

 

Ketik (atau copy-paste) kode program di atas menggunakan editor seperti nano, vi atau gedit dan simpan dengan nama file linecircle.c.

Selanjutnya lakukan kompilasi dengan gcc dengan perintah:

$gcc -o linecircle linecircle.c

Perintah tersebut akan menghasilkan file aplikasi linecircle yang bisa dijalankan dengan perintah $./linecircle. Hasilnya adalah sebagai berikut.

linecircle_600

Jika Anda mendapatkan tampilan seperti di atas, maka GCC telah siap digunakan. Dan langkah selanjutnya adalah melakukan instalasi kompiler Cross-Platform untuk mikrokontroler 8051, ARM, AVR dan PIC.

Nah, semoga bermanfaat dan sampai jumpa lagi pada tulisan-tulisan selanjutnya.

 

 

 

No Comments

Add a Comment

Your email address will not be published. Required fields are marked *