Linux Ve Program Lama

  • November 2019
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Linux Ve Program Lama as PDF for free.

More details

  • Words: 774
  • Pages: 2
LINUX VE PROGRAMLAMA Linux isletim sistemi altinda hemen hemen tüm programlama dilleri ile programlama yapilabilinir.Bu dillerin derliyicileri büyük linux sürümlerinde(red hat,slackware,suse,vb) hazir bulunur.Bu yüzden linux altinda programlama ile ugrasmak isteyenler daha sonra zorluk çikmamasi için linux'un tüm paketlerini kurmalilardir.Sabit diskinde yeri az olan kullanicilar ise bu derliyicilere internetten rahatlikla ulasabilirler(www.linuxapps.com, www.tucows.com). Linux altinda yaygin tüm programlama dillerini destekleyen programlara bedava ulasmak mümkündür.Su anda borland delphi programinin 500$ civarinda oldugu düsünülürse amatör programcilar için linux çok avantajli bir seçimdir. Ama sunuda eklemek gerekir ki eger linux altinda programlama yapilacaksa genelde c ve c++ seçilmelidir,çünkü c/c++ en esnek programlama dilidir ve c/c++ ile yapilmis program örnegi oldukça fazladir.Linux altindaki programlar GNU lisansina sahiptir.Bu lisansin manasi gnu lisansli programi bevada kullanabileceginiz,ne yaptiginizi belirtmek sartiyla istediginiz degisikligi yapabileceginiz ve yazarin adini belirterek programi kendiniz yaptigi herhangi bir programda kullanabileceginizdir. Programlari yazmak için herhangi bir metin editörü kullanilabilinir. Windows ve dos altinda syntax highlighting tabir edilen( yazdiginiz koddaki fonksiyon ve degiskenlerin belli renkler almasi) editörlerinin benzerleri linux otaminda da mevcuttur.Bunlara örnek olarak emacs,rhide ve lpe verilebilir.Tabii ki bu editörler daha çok c ve c++ dilleri için hazirlanmistir.Emacs çogu linux sürümünde standart bulunur.Rhide programi borland c for dos programinin bir kopyasi(ama X-window altindaki terminal penresinde çalismiyor).Lpe ise pico metin editörünün renklisi olarak düsünülebilir. Bu isletim sisteminde visual programlamanin olmadigini zannedenler çok yanilirlar.Linux windows'u diyebilecegimiz X-window sunucusu ortaya cikan birçok pencere yöneticisiyle MS windows'un sagladigi görselligi yakalamistir.Özellikle red hat 6.0 sürümü ile dagitilan gnome pencere yöneticisi birçok insanin begenisini kazanmistir.Malesef ne kadar çok görsellik=o kadar çok ram oldugu için düsük konfigürasyonlu bilgisayar kullanicilarina gnome=izdirap olacaktir. Yillardir hemen hemen tüm linux sürümlerinde bulunan pencere yöneticisi kde ise programcilar tarafindan en çok kullanilan pencere yöneticisidir.Troll tech. (www.troll.no) tarafindan üretilen ve gnu lisansi ile programlama yapacak programcilar için bedava olan qt kütüphaneleri de visual programlamada büyük kolaylik saglamistir.Linux altinda visual programlama henüz emekleme asamasinda olmasina ragmen cok hizli gelismektedir.Su anda beta sürümü bulunan kdevelop programi (www.kdevelop.org) linux'un c builder'idir.Daha önce visual c yada c builder'la ugrasanlar bu programi kullanirken yabancilik çekeceklerini zannetmiyorum.Ayrica diyalog ya da api gelistirmek için de bir çok program internette kullanima hazir bulunmaktadir.Bu arada delphici arakadaslar borland'in web sitesinde delphi'nin linux'a geçirilmesi için programci aradigini görmüslerdir;). Peki daha önce windows altinda c ile ugrasanlar linux da yabancilik çekeceklermidir?Eger ansi c ile ugrasacaklarsa bu sorunun cevabi hayirdir.Sunuda burdan belirtmek zorundayim; windows'dan linux'a transfer olan her kullanici "conio.h" headerini bulamamaktan sikayet eder. Maalesef conio header'i ansi c'nin bir parçasi degildir.:)Visual programlama yapacak arkadaslarin ise iyi derecede c++ bilmesi pek bisey ifade etmiyor çünkü hazir kütüphaneler içinde oldukça fazla class ve fonksiyon var. Ilk c programimi yazdim nasil compile ederim?Bunun bir çok yolu var.gcc yada cc komutlarini kullanmak.Yazdiginiz programin adi deneme.c olsun; cc deneme.c satirini komut olarak girdiginizde a.out adinda bir dosya yaratmasidir.Çogu windows kullanicisi komut satirina a.out girerek programin çalismasini bekler tabii çok bekler.Bir executable yani çalistirilabilir dosyayi çalistirmak için basina "./" konmalidir (aman tirnaklari koymayin).yani a.out dosyasini çalistirmak için ./a.out yazmaniz yeterlidir.Her potansiyel linux kullanicisi linux'un özellikle linux komut satirinin kolayliklar dünyasi oldugunu bilmelidir.Söyle ki;eger ayni dizinde birçok program derliyorsaniz yukardaki komut ile her derlediginiz dosya bir önceki executable'in üstüne yazilacaktir.Bu durumdan kurtulmak için; cc deneme.c -o deneme ya da gcc deneme.c -o deneme yazarsaniz derlediginiz dosyanin adi deneme olacaktir.Bunu yazmasi biraz uzun oldugu için bash kabugu burda devreye girer.Nasilmi?Önce deneme dosyasini silin ve komut satirina make deneme yazin.Linux'umuz bu komutu bir yukardaki komuta dönüstürecek ve deneme isimli bir executable dosya olusturacaktir.Yalniz sunu unutmayin make komutunu kullanmak için c dosyanizi uzantisi olmadan yazin(make'in yanina) yoksa

linux hata verip "isinizi görmiyecektir ".cc ve gcc komutlarinin görmek bile istemiyeceginiz onlarca parametresi vardir.Neyseki bunlara çok standart bir programcinin ihtiyaci olmaz.gcc komutunun cc'den farki eger program c++ komutlarini içerirse c++ derlemsi yapar.cc komutu c++ kodlarini derleyemez.g++ komutu ise anliyacaginiz üzre ansi c kodlarini derleyemez. Linux altinda programlarinizi debug liyabileceginiz bir komut da vardir "gdb" . gdb program.c yada program.cpp yazilarak debugger'a program yüklenir.Çok basit komutlarla programinizin istediginiz yerine breakpoint koyup programin nerde hata verdigini rahatlikla görebilirsiniz.(help komutuyla program icinde yardim alinabilir) Programcilikla az çok ugrasmis herkes run time error'ler (programin hatasiz derlenmesi ama çalisma esnasinda hata vermesi) ile karsilasmistir.Linux un hataya verecegi tepki daha dogrusu ekrana yazacagi mesaj "segmentation fault core dump" tir.Bu mesajdan sonra programin calistigi dizinde bir core dosyasi olusturacaktir.Linux core dosyasini olustururken o program ile ilgili herseyi dosyanin içine atar.Bu yüzden dosya manali manasiz bir çok karakterden olusur. Eger bu segmentation fault giderilemiyorsa core dosyasinin incelenmesi hatanin ögrenilmesini saglar.Yalniz bu is her baba yigidin harci degildir ve ileri düzey assembly ve c bilgisi ister.Ama simdiden söyliyeyim sik sik bu hatalarla karsilasiyorsaniz öncelikle kullandiginiz pointer'lara hafizada yer açip açmadiginiza bakin(malloc()) genelde bu hatalar pointer'larin hafiza alani olarak programin çalistigi hafiza alanini kullanmak istemesiyle olusur.

Related Documents