Paralel Programlamaya Giriş
LINUX ORTAMINDA C++ KODLARININ
YAZILMASI, DERLENMESİ VE ÇALIŞTIRILMASI
 İlk aşamada .cpp uzantılı bir C++ program dosyası
oluşturunuz. Bu işlemi touch komutu ile yapabilirsiniz.
Örnek: $touch HelloWorld.cpp
 Daha sonra ya bir komut satırı editörü (vi veya nano gibi) ya
da bir grafik editörü (gedit gibi) yardımıyla programınızı
yazınız ve kaydediniz.
 Artık programınızı derleyip çalıştırabilirsiniz. Bu işlem için
bizim sistemimizde kurulu bulunan g++ adlı C++
derleyicisinden faydalanabilirsiniz.
 Örnek: $g++ HelloWorld.cpp
LİNUX ORTAMINDA C++ KODLARININ
YAZILMASI, DERLENMESİ VE ÇALIŞTIRILMASI
 Derleme işlemi başarıyla sonlandırılır ise eğer derlemeyi
yaptığınız dizinde a.out adında executable (çalıştırılabilir) bir
dosya oluşur.
 Bu
dosyayı
komut
satırından
aşağıdaki
gibi
çalıştırabilirsiniz. (Programınızın komut satırı argümanı
almadığını varsayıyorum.)
 Örnek: $./a.out
 Eğer programınızın a.out dışında bir executable dosya
adıyla çalıştırılmasını istiyorsanız programınızı şöyle
derlemelisiniz.
 Örnek: $g++ HelloWorld.cpp -o
 Örnek: $./deneme.x
deneme.x
UYGULAMA 1
Kullanıcıdan ekrana kaç kere Hello World yazacağını klavye
yoluyla cout ve cin deyimleri ile alan bir C++ programı
yazınız, derleyiniz ve calıştırınız. (main fonksiyonu kendine
argüman almıyor.) (Dosya adı olarak HelloWorld1.cpp
kullanabilirsiniz.)
argc ve argv Parametreleri
int main()
{
int main(int argc, char* argv[ ])
{
return 0;
return 0;
}
}
argc ve argv Parametreleri (devam)
main fonksiyonu içinde kullanılan argc (argument count) adlı,
int veri tipindeki ilk argüman programın çalıştırılması
esnasında komut satırından girilen komutların/kelimelerin
sayısını belirtir.
Örnek:
$ ./deneme.x
-n
100
Yukarıdaki örnekte argc 3 olarak değerlendirilir. Çalıştırılan
programın adı da (./deneme.x) argc nin sayısına katkıda
bulunur.
argc ve argv Parametreleri (devam)
main fonksiyonu içinde kullanılan argv parametresi ise komut
satırından girilen parametrelere (karakter dizileri) pointer
tutan bir dizidir.
Örnek:
$ ./deneme.x -n 100
Yukarıdaki örnekte
argv[0] = ./deneme.x
argv[1] = -n
argv[2] = 100
argv[1][0] = - ve argv[1][1] = n
ÖRNEK
Aşağıdaki kod parçası komut satırından çalıştırılan bir C++
programının argümanlarını ekrana basar.
Argumanlar.cpp
#include <iostream>//cout
using namespace std;
int main(int argc, char* argv[ ])
{
for(int i=0; i < argc; i++)
cout<<argv[i]<<endl;
return 0;
}
atoi ve atof Fonksiyonları
Komut satırından girilen her türlü parametre argv dizisi içerisinde
string (karakter dizisi) olarak saklanır. (Rakam olarak girildiği
düşünülen argümanlar bile.) Yani bütün bu parametreler karakter
dizileridir aslında.
Bu
yüzden bu parametrelerin rakamlara dönüştürülmesi
gerektiğinde atoi ve atof fonksiyonlarına ihtiyaç duyulur.
atoi (char *str): fonksiyonu kendine argüman olarak aldığı string i
integer a çevirir.
atof (char *str): fonksiyonu kendine argüman olarak aldığı string i
ondalıklı sayıya çevirir. (floating point)
atoi ve atof fonksiyonlarını C++ programlarımızın içinde
kullanabilmek için standart kütüphaneden <cstdlib> header
dosyasını programımızın başına eklemeliyiz. #include <cstdlib>
ÖRNEK
Aşağıdaki C++ kod parçası ne iş yapar?
for (i=1; i<argc; i++)
{
if (argv[i][0] == '-')
{
if (argv[i][1] == 'n')
{
count=atoi(argv[++i]);
break;
}
}
}
UYGULAMA 2
Kullanıcıdan ekrana kaç kere Hello World yazacağını komut
satırından argüman olarak alan bir C++ programı yazınız,
derleyiniz ve calıştırınız. (main fonksiyonu kendine argüman
alıyor.) (Dosya adı olarak HelloWorld2.cpp kullanabilirsiniz.)
Download

Ön_Hazirlik_1