You are on page 1of 32

Linuxta Yazlm Gelitirme

Ar.Gr. Yaar Arslan yarslan@aku.edu.tr

Linux geni yazlm ariv ve ktphanesi ile birlikte sunuluyor.

C, C++, Java, Ada, Fortran, Pascal, Cobol, Basic, Lisp, Scheme, Python, Kylix bata olmak zere hemen her programlama dilinin yorumlayc ve derleyicisini bulabilirsiniz. C, C++ dilleri esneklii ve zengin sistem gelitirme ktphaneleriyle tavsiye edilen dillerdir. Grafiksel arayz hazrlamada fazla kullanlmaz.

Grafiksel...

X Window (ksaca X) ad verilen grafik arayz Linuxta sadece metin ekranda almak istemeyen kullanclar iin gnmz windows sistemlerine benzer ekilde gelitirilmi mekanizmadr.

Grafiksel programlama iin Kylix ve Java bata gelen dillerdir. Ayrca Kdevelop yazlm grafiksel arayzleri ksa srede hazrlamanz salayacaktr.
www.linuxapps.com www.linuxlinks.com www.linux-directory.com dan bulabilirsiniz.

Kendi iinde Kabuk programlama:

Kabuk, klavyeden girilen komutlar altrarak bir arabirim grevi yapar. Sistem komutlarn dngler kurarak, artlara balayarak, normal bir programlama gibi dzenlememizi salar Deiik trde kabuk derleyicileri kullanclara sunulmutur. sh: lk Unix kabuu. ksh: sh kabuunun gelitirilmi hali. bash: Kullanm kolayl bakmnda nen ok rabet gren ve kaynak koduyla datlan dildir. csh: C diline benzer bir programlama yaps vardr.

rnek kabuk program: #!/bin/bash cp /var/deneme.txt /home/yedekler/ rm rf /var/deneme.txt cd /home/yedekler echo lem tamamland Editrde yazp prg ismiyle kaydedelim ve >chmod 700 prg
komutu ile alr hale getirelim.

>. /prg dosya ismini bu ekilde yazp altralm

Yazlm Gelitirme sunumuz iki blm halinde devam edecek. 1. Grsel Programlama: Kylix; Kurulum, kullanm ve zellikleri. 2. Esnek programlama: C: Kullanm ve zellikleri.

KYLIX: Linux zerinde Grsel programlama


Kylix tanmlamas,
Kylix uygulama platformlar,

Kylixin yeni srm Kylix3,


Bileen ekleme yntemleri,

Veritaban ile kullanm ve ek bileenler,


rnek uygulamalar.

Kylix Paketi
Kylix;

Delphi ktphanesinin, Linux GUI birimini destekleyecek biimde tasarlanmas ile oluturulan programlama paketidir. Windows ortamnda program gelitirme arac olarak kullanlan Delphinin Linux platformuna uygun hale getirilmesi diyebiliriz. Ksa zamanda geni apta bir yenilemeye dnerek Borland ailesinin yeni ve farkl bir yesi olmutur.

zellikleri
paket halinde kullanclara sunuluyor: Enterprise, Professional, Open Edition. Kolay kullanm ara yzleri oluturma (GUI). Nesneye bal programlama (Object Oriented). Veritaban uygulamalar gelitirme. Web ve Web Servisleri uygulamalar gelitirme. Komponent ktphanesi (CLX) destei ile yeni bileenler ekleyebilme. stemci-sunucu uygulamalar gelitirme. Kullancnn Delphi veya C++ ile alabilmesi

Kylix 3 Deneme Srm

Hangi Linux versiyonu destekler 1. Redhat 7.2 2. Mandrake 8.2 3. Suse 7.3 ve st versiyonlar Download www.borland.com/kylix > tar -xvzf kylix3_trial.tar.gz dosya alr, /usr/local/kylix3 dizini altna kopyalanr, mailinize gelen reg89.txt dosyasini /usr/local/kylix3 altna kopyalayn ~/kylix3> sh setup.sh m komutu ile kurulum balar. ~/kylix3/bin>. /kylixstart komutu ile altrn.

Kullanm
Delphiye benzer arayz ile hzl ve kolay kullanm. Borland Delphi ve Kylix, ortak gramer olarak ObjectPascal (Object Oriented Pascal - OOP) dili kullanr. Delphi ile yazlm kodlar library ayarlarn yapmak suretiyle Kylix zerinde de alr. Delphi Windows ortamnda Win32 arabirimini kullanr. Yazlan kodlar bu arabirime evirir. Kylix Linux ortamnda Xwindow sistemini yneten Qt arabirimini kullanarak derleme yapar.

Bileen Ykleme
Bileenler genellikle kurulumunu aklayan bir dosya ile birlikte gelirler ve o aklamaya gre kurulumu yaplr. Balca siteler: www.torry.net www.delphi32.com www.delphiturk.com (Trke) zeoslib.sourceforge.net (Veritaban aralar) www.fast-report.com (Raporlama aralar) www.teechart.com (Grafik izim aralar) Kylixte eksiklii hissedilen raporlama, veritaban ve grafik aralarn kurmanz tavsiye edilir.

Bileen Ykleme

Veritaban Uygulamalar

Kylix; Oracle, DB2, Informix, Red Hat Database, PostgreSQL, MySQL, and InterBase veritabanlarn destekler. Delphide olduu gibi veritaban motoru ile gelmez, kullanlacak veritaban sunucusu sisteme kurulur ve program tarafndan balants salanarak ilemler yaplr. Kylix ierisinde gelen dbexpress bileeni veritaban balantsn ve ilemlerini salar. Veritaban balant ve ilemlerini salayan bileenleri, nceden aklanan sitelerden indirebilirsiniz.

Veritaban ile balant

Linux zerinde veritaban

1.
2. 3.

Bir veritaban sunucusu kurmak, izlemek, sorgulamak ve dier ilemlerini yapmak iin 3 yazlm kullanmamz gerekiyor. MySQL (Veritaban modeli) Apache webserver (server durumuna dntrme) Phpmyadmin (MySQL veritaban izleme arac) Kurulumlardan sonra safe_mysql komutu ile Mysql altrlr, izlemek iin web browser adres kutusuna localhost.localdomain/phpmyadmin yazarak veritaban ilemlerimize balayabiliriz. Her alta veritabanmzn devreye girmesini istiyorsak rc.local dosyasna safe_mysql eklenir.

Kylix

C ile programlama

Esnek ve zengin ktphane destei. Yeni balayan ve gelitirme amal kullanm iin ideal ve kapsaml bir dil (basit ve gl yap).

ou iletim sistemleri C dili kullanlarak yazlmtr (Unix, Linux, Windows API).


Gelimi programlama dilleri temelde Cyi kullanr (C++, CBuilder, Java). Linux zerinde sistem programlama ve netwok ilemleri yaplabilir. Veritaban ilemleri iin kullanlabilir.

Kullanm: Linux zerinde herhangi bir editor ile yazlr ve Linux komutu ile derlenir, derleme srasnda hata oluursa hatalar satr numaras ile bildirilir.

Hazrladmz program deneme.c isminde kaydetmi olalm, derlemek iin;


>cc o deneme deneme.c >cc o alacak_dosya hazrlanm_dosya >. /deneme komutu ile altrlr.

C yaps
#include<.....> Kullanlacak ktphane dosyalar. int fonk(); int a; Fonksiyon ve global variable tanm int main(arguman kullanlabilir) Ana yap balangc { int a=3; Local variable tanm(herhangi yerde tanmlanabilir) lemler, dngler, fonksiyon arma ilemleri. fonk(); } int fonk() { Fonksiyonun yapaca ilemler }

C iinde Linuxa has zellikler

Windows veya Dos ortamnda kullandmz C, Linuxa daha zengin ktphanelerle gelir.

Sistem Programlama:
Bir program ierisinde birden fazla process (ilem) altrma. ok karmak ve zor yaplar processlere paylatrarak zmleyebiliriz. i=fork(); Yeni process oluturma aamas

if (i) {....} Process olumusa ilemleri yapabiliriz.


- Oluturulan process sanki yeni bir programm gibi dierinden ayr olarak programlanabilir.

Proccessler aras iletiim salanabilir.

Ayr ayr alan iki process arasna sanal borularla kprler(Pipe) kurulur ve iletiimi salanr.
Named ve Unnamed Pipe.
Network

Programlama:

Bilgisayarlar aras iletiim salanabilir.

Network ortamnda mesaj veya dosya alverii, istemci-sunucu ilemleri, TCP/IP veya UDP protokollerinin kullanmlar ile gerekletirilebilir.
Bu ama iin genelde soketler kullanlr, IP ve port numaralar aracl ile iletiim gerekleir.

Gnmz network iletiim sistemlerinin (software) temeli, bu ilkelerden olumaktadr. Programlamac olarak network programlama ile urayorsanz C size gzel ve hzl ktphaneler sunuyor. C dilinin bu zelliklerini kullanarak standart programlardan ziyade network ortamnda alabilen veri transferini network ortamna aktarabilen istemcisunucu mant ile alan yazlmlar gelitirilebilir. Web serverdan chat programna kadar profesyonel amal yazlmlar gelitirilebilir.

C ile Veritaban ilemleri


Kylixte olduu gibi eitli veritabanlarn destekler ve veritaban balants salar. Grafiksel dillere gre hzl alr, binlerce kayd olan ktklerde bu hissedilir. Grsel adan zayf olduundan dolay programcnn arayz hazrlamasnda fazla kod yazmas gerekir. Grafik ortamn kaldramayan dk konfigrasyonlu bilgisayarlarda ok rahat alr. Program almas esnasnda, sistem kaynaklarn daha az tketir.

Gerekli Ayarlamalar

Sistemimizde veritaban kurulu olmas gerekli, (Mysql kurduumuzu varsayalm) eer program haricinde grsel olarak ilemler yapmak istiyorsak Apache server ve phpmyadmin trnden yazlmlar kurmamz gerekir.
Program ierisinde ktphane ksmna; #include<mysql.h> satrn eklememiz gerekir ki bu veritabanmz ile program arsndaki balant anahtardr(dosya). Derleme srasnda dosya bulunamad gibi hatalar alnrsa mysql in kurulu olduu dizinde bu dosya bulunabilir ve programn klasrne tanr.

Ayarlar devam...

Dier bir ayar ise derleme srasnda gerekleir ki bu, balant kurulacak veritabann pathini belirterek gerekletirilir.

>cc o dnm dnm.c -L/var/lib/mysql -lmysqlclient

/usr/lib/mysql: veritabanmzn bulunduu path.

Derleme sorunsuz tamamlanmsa ayarlarmz yaplm ve eer bir sorun olursa sorunu program ierisinde yazdmz kodlarda aramamz gerekir

Program iinde kullanm


#include "mysql.h" #include <stdio.h> MYSQL my_connection; int main() { mysql_init(&my_connection); mysql_real_connect(&my_connection, "127.0.0.1", "root",NULL, "yasar",0,NULL,0); char query1[100]={"SELECT * FROM tablo1"}; mysql_query(&my_connection,query1); }

mysql_..... uzants ile balayan btn fonksiyonlar mysql.h dosyas ierisinden arlrlar ve veritabanmzla ilgili btn fonksiyonlarmz bu ekilde gerekletiririz. Btn fonksiyonlarn bilmemiz art deildir, bize gerekli olan fonksiyonlar mysql.h dosyas ierisinden veya aadaki linkde bulunan dosyay inceleyerek kullanabiliriz. www.uniregensburg.de/www_server/dokumentation/mysql/m anul_clients.html Ayrca sistem programlama iin dokmanlar; cmpe.emu.edu.tr/kostin/PUBLIC/CMPE343.LEC/

rnek programlarla aklamalarmz devam ediyor...


Kylix arayz tantm Bileen ykleme Veritaban al ve yneticilii Kylix ile veritabanna balant salama C ile veritabanna balant salama

Katldnz iin Teekkrler!

You might also like