Wednesday, April 26, 2017

NAMESPACE C++,COMPILE dan LINKING

Hari ini saya akan memposting namespace,compile danlingking pada c++.

NAMESPACE

 Namespace adalah sebuah pengelompokan progam agar progam tidak bertabrakan, contoh progam yang menggunakan namespace :

#include<iostream>
using namespace std;
int main(){
int a;
a = 7;
cout<<a;
}

jika progam tanpa namespace :

#include<iostream>

int main(){
int a;
a = 7;
std::cout<<a;
}

using namespace std adalah standart dari C++ yang digunakan sebagai pemanggilan class atau object atau fungsi yang terdapat dilibrary.

lalu bagaimana bisakah kita membuat namespace sendiri, jawabannya bisa sudah dijelaskan bahwa namespace adalah sebuah pengelompokan suatu objek, contoh seperti dibawah ini:

#include<iostream>
using namespace std;

namespace B{
 int y;
 void setY(int nilai)
 {
  y=nilai;
 }
 int getY()

 {
  return y;
 }
}
int main()
{
 B::y=100;
 cout<<"Nilai x dalam namespace B : "<<B::y<<endl;
 B::setY(200);
 cout<<"Nilai X dalam namespace B : "<<B::y<<endl;
 return 0;
}

lalu bisakah kita menggunakan lebih dari 1 namespace buatan sendiri, jawabannya tentu saja bisa kalaupun error itu pasti karena kesalahan penulisan code progam, lebih dari 1 namespace buatan sendiri seperti contoh dibawah ini :

#include<iostream>
using namespace std;

namespace B{
 int y;
 void setY(int nilai)
 {
  y=nilai;
 }
 int getY()

 {
  return y;
 }
}

namespace A{
 int x;
 void setX(int nilai)
 {
  x=nilai;
 }
 int getX()

 {
  return x;
 }
}
int main()
{
 A::x=100;
 cout<<"Nilai x dalam namespace A : "<<A::x<<endl;
 A::setX(200);
 cout<<"Nilai X dalam namespace A : "<<A::x<<endl;
  B::y=300;
 cout<<"Nilai x dalam namespace B : "<<B::y<<endl;
 B::setY(400);
 cout<<"Nilai X dalam namespace B : "<<B::y<<endl;
 return 0;
}


COMPILE dan LINKING

Bahasa Pemrograman yang dibuat oleh seorang progammer tentu saja hanya dapat dimengerti oleh progammer tersebut, agar progam dapat diketahui komputer maka progam tersebut akan diterjemahkan kedalam bahasa mesin melalui 2 metode yaitu,
Interpreter : merupakan jenis penerjemahan secara baris perbaris setiap saat,
compiler : merupakan penerjemahan yang dilakuka secara menyeluruh dari awal intruksi atau kode progam sampai akhir progam. Lingking yaitu proses pengaitan antar object yang sudah terbuat dengan file file library yang dibutuhkan kemudian menghasilkan progam yang dapat dieksekusi.

Kurang lebih seperti ini File.cpp dicompile masuk ke file object (.obj atau .o) masuk kelinker dilinker dia mengambil file library (.lib) dan file object lain lalu mengeluarkan file executable (.exe). diagramnya seperti gambar dibawah ini :













No comments:

Post a Comment

NAMESPACE C++,COMPILE dan LINKING

Hari ini saya akan memposting namespace,compile danlingking pada c++. NAMESPACE  Namespace adalah sebuah pengelompokan progam agar proga...