PDA

Tam Sürümünü Görmek İçin : C++ Da kitlendim kaldım nasıl geliştirebilirim..


umutguncan
12/12/2004, 01:11
Merhabalar
Ben Elektronik mühn. 2. sınıf öğrencisiyim. 1. Sınıfta c++ dersimiz vardı. TurboC'de basit programlar yapıyordukç İŞte pointerlar dosyalar...

Ama ben bu bilgilerimi geliştirmek istiyorum. Yani aha görsel programlar yapmak istiyorum. Windows ortamında çalışabilecek programlar.
Kafamı karıştıran iki şey var. C++ Builder??? Visual C++.. Bunlar ne işe yarıyor acaba. Ve ben istediğim seviyeye nasıl ulaşabilirim. Kaynaklar nelerdir?


Açıkcası yaptığım programın girilen sayıları toplamasından daha gelişmiş olmasını istiyorum. Ve turbo cden bıktım:))


ceeyt
12/12/2004, 02:37
Turbo C den bik zaten,iyi bisey yapmissin bence :)

windows ortaminda gorsel programlama dedigin, butonlar,menuler...vs olusturmak ise bu is icin yazilmis API ler var onlari kullanabilirsin. Bazi benzer is yapan API lerin bir araya getirilip duzenlenmesi gibi dusunulebilecek, MFC diye bir kutuphane mevcut. Bu kutuphaneyi kullanarak da bahsettigimiz anlamda gorsel programlama yapabilirsin(bu kutuphaneyi daha bircok seyde de kullanabilirsin).

Gorsel programlamadan kastin 2D/3D cisimler olusturup,iclerini boyamak,uzerlerine kaplama yapmak,dondurmek ...vs ise openGL isini gorur sanirim.

visual C++ ..vs gelistirme ortamlaridir.Kendine gore ustunlukleri,zayifliklari vardir tabii.Bunlarla beraber gelen kutuphaneler,ozellikler olur.

Burda cok iyi C ve C++ programcilari var ama benim acizane gorusum soyle ; Bence onceligi iyi C++ ve nesne yonelimli kod yazmaya ver. Cok iyi STL ogren. Daha sonra gorsel programlamayla ugras derim.

Emin ol gorsel programlama yapmadanda iki sayinin toplanmasindan cok cok daha fazlasini yapabilirsin.

lucyanobg
12/12/2004, 13:24
peki ceeyt bu stl icin iyi bi kaynak gosterebilirimisin, yada iyi bi kitap?

ceeyt
12/12/2004, 13:57
kitap olarak ;

dinkum C++ library-p j plauger
https://vheissu.mersenne.com/Dinkum-C++-Library-Reference/

ve C++ how to program - prentice hall (sadece STL yok ama )

su sitelere de bakabilirsin :
http://www.xraylith.wisc.edu/~khan/software/
http://www.sgi.com/tech/stl/
http://www.cs.brown.edu/people/jak/proglang/cpp/
http://www.dinkumware.com/

acehreli
12/12/2004, 19:00
Onlara ek olarak ben de C++ kutuphanesini anlatan belki de en iyi kitabi onermek isterim. Surekli olarak elimin altinda olan ve gunde bir kac kere basvurdugum bir kitaptir:

http://www.josuttis.com/libbook/index.html

Ali

umutguncan
18/12/2004, 19:54
Ceeyt çok teşekkürler ama ben bu terimlere bayaa bi yabancıyım apı ne demek yada geliştirme ortamı dediğin şeyin editörden farkı nedir. bilmiyorum.
Benim yapmak istediğim ilk dediğin şey yani butonlar filan...
Biraz daha açabilirmisinz

ceeyt
19/12/2004, 21:40
API leri isletim sistemine cok yakin fonksiyonlar olarak dusunebilirsin.Yani isletim sistemin,yapmak istediklerini bu fonksiyonlari kullanarak gerceklestirir.
API leri kim olusturuyor, tabii ki oncelikle isletim sistemini yazanlar.

windows gibi isletim sistemleri, islemcini korumali mod olarak adlandirilan bir sekilde calistirirlar. Tum bilgisayarina 1. derecede hakim olan ve kontrol edebilen, bu tur isletim sistemleridir. Bunun sonucunda ortaya su cikar ; yazdigin programin herhangi bir sistem kaynagi kullanmak istediginde veya bir aygita erismek istediginde, mutlaka bu isi isletim sistemi uzerinden yapmalidir.

Bu nasil yapilir ?
ilgili API leri kullanarak.

Mesela sunu yazdin ;

int *p = new int; // 4 byte bellek ayirmak istiyorsun. Arka planda,isletim sisteminden 4 byte bellek ayirmasi isteniyor,cunku hafizayi derleyicin kontrol etmiyor.

Eger aygitlardan birine( mesela- bu forumda cok sorulan bir soru olmustur- paralel port ) erismek istersen mecburen isletim sistemine ait API ler kullanmalisin.

Turbo C de bunu outportb(....) ile yapabilirsin cunku DOS ortamindasin. Win ortaminda calisan derleyiciler de outportb( ) gibi fpnksiyonlari tanirlar ancak, yukarida soyledigim sebeplerden bu tur bir fonksiyonu kullanamazsin.Mecburen win32 API lerini kullanmalisin.

burada bir pencere uretmek icin yapman gerekenlerin uzerinde durmak hem uzun olur hem de yararsiz, kisaca ;

pencere sinifi tanimla -- WNDCLASSEX isim ,
pencere uret -- InitInstance( ),CreateWindow( ) ,
penceriyi goster,guncelle -- ShowWindow( ) , GetMessage( )
pencerenin ne yapacagini gosteren bir prosedur fonksiyonu.....

bu konulari ayrica arastirirsan cok daha yararli olur. Ancak hala bu konulari daha sonraya birakmani tavsiye ediyorum.

Gelistirme ortamlari, bunyesinde bir derleyici vardir,buna ek olarak kod yazarken sana yardimci olacak araclari da icerir. Gelistirme surecini kolaylastiracak/hizlandiracak kutuphaneleri beraberinde getirir.

Ornegin ; yukarida yazdiklarim, genelde her pencere icin benzer kodlar olur. VC++ ta bir Win32 sihirbazi vardir ve bu kodlari senin yerine yazar.Daha sonra istedigin yeri degisitirip pencere uzerinde oynayabilirsin.

kolay gelsin...