Giriş - C Programlama Dili

in tr •  6 years ago 


C Programlama Dili ile ilgili yazacağım notlar hiç bilmeyen birileri hedeflenerek yazılmamıştır. Yazacağım notlar el kılavuzu hükmündedir, muhatabı ben ve benim gibilerdir.

Bu sebeple çok laf kalabalığı yapmamaya çalışacağım.

Windows ortamında C editörü olarak Visual Studio, Dev C++ gibi IDEler kullanabilirsiniz.

Eclipse Kullananlar için C/C++ Derleyici Kurma (for Java Developer)

Java kullandığım için aşina olduğum Eclipse IDE ortamını kullanabilir miyim diye ufak bir araştırma yaptım. Aşağıdaki video oldukça işime yaradı. Eclipse Oxygen 2 IDE'sini kullanıyorum. Videonun ilk 2 dk sını aynen uygulayabilirsiniz. Sonrasında aşağıdan devam edebilirsiniz.

Video da C Compiler olarak kullanılan GCC, open source dünyasında oldukça popüler olan bir derleyici. GNU Compiler Collection diye açılıyor. İçeriğinde hangi dilleri desteklediği ve diğer bilgilerine buradan erişebilirsiniz.

Windows ve diğer platformlar için kurulan versiyonlarına bu siteden erişebilirsiniz. Ben bu sitede Mingw-w64 projesi olarak geçen versiyonunu seçtim. Beni bu siteye yönlendirdi.

Bu siteye girdiğinizde Mingw-w64 kullanılarak yapılan projelerden bahsediyor sonrasında download kısmına geldiğinizde nihayet indirilebilir versiyonlarına erişebiliyorsunuz demek isterdim ama o kadar kolay değilmiş :)

İndirme sayfasında host olarak Windows yazan bölümdeki  MingW-W64-builds yazanı seçtim. Sebebi ise mingw-w64 : gcc for Windows 64 &32 bits şeklinde bir tanıma sahip olmasından.

Seçtim seçmesine ama beni indirmek için sourceforge sitesine yönlendirdi. Özetle sizler direk bu linkten indirebilirsiniz. (İyi ki lafı uzatmayım dedim, uzatsam neler olurmuş merak ediyorum)



Böyle bir setup indi. Yaklaşık 1 MB boyutlarında. Çift tıklayıp normal bir exe çalıştırır gibi çalıştırıyorsunuz. Settings gelince Architecture kısmında x86_64 , Threads kısmında win32 seçtim.

Sonrasında kurulacak yeri sorguluyor, aşağıdakine benzer bir yol göstermelisiniz :

Not :

Eğer kendisinin gösterdiği yolu seçerseniz derleyici ölseniz çalışmıyor, bunun için saatlerimi harcadım ve nihayet sebebini buldum. Belirtilen yolda boşluk karakterinin bulunmaması gerekiyormuş, Program Files gibi. Bu sebeple ben aşağıdaki gibi bir yol seçtim, siz de aynısını yapabilirsiniz.

Next dediğimde gerekli dosyaları indirmeye başlıyor :

Sonrasında da kurulum aşağıdaki gibi devam ediyor :

Ve nihayet bitti :

Bilgisayarı yeniden başlattım. Ama sanırım buna gerek yok. Asıl önemli olan PATH değerini eklemek.

Sistem ayarlarından PATH değişkenini editlememiz lazım. Bunun için Windows Key + Pause tuşlarına basalım. Açılan ekranda Gelişmiş Sistem Ayarları'na tıklayalım. Açılan pencerede Gelişmiş tabındaki Ortam değişkenleri butonuna tıklayalım. PATH değişkenine çift tıklayalım. Var olan değerin sonuna noktalı virgül ekleyip C:\mingw\mingw64\bin değerini ekleyelim. OK deyip pencereleri kapatalım.

Compiler'ın çalışıp çalışmadığını komut ekranından test edebilirsiniz. Bunun için Windows Tuşu + R tuşuna basınız. Açılan pencereye cmd yazıp Enter a bastığınızda Windows 'un komut satır ekranı gelecektir. Bu ekrana g++ - - version yazıp Enter a bastığınızda compiler versiyonu çıkıyorsa sorun yok demektir.

Karşılaştığım sorunun çözümü bu sayfadan alınmıştır.

Son olarak C:\mingw\mingw64\bin klasöründe bulunan mingw32-make.exe nin bir kopyasını aynı klasöre alıp adını make.exe olarak değiştirelim.

Eclipse Ayarları

Eclipse IDE'yi açıp Window > Preferences menüsündeki General sekmesinde bulunan Workspace tabında yer alan Text File Encoding kısmında Other seçeneğini UTF-8 yapıyoruz. Apply demeyi unutmayın. Windows için buna gerek var mıydı bilmiyorum, denemek lazım.

Bir de gene General kısmındaki Editors içindeki Text Editors tabında bulunan ayarlardan "Show whitespace characters" seçeneğini işaretleyip Apply diyelim.

Şimdi de General tabı ile aynı hizada bulunan C/C++ bölümündeki New C/C++ Project Wizard bölümünde Executable klasöründe bulunan Empty Project kısmı seçili iken MinGW GCC Toolchain'inini seçip alt kısımda Make toolchain(s) preferred butonuna tıklayalım. Apply diyip bu ayarı da kaydediyoruz.

Not : Eğer compiler kurma konusunda sorun yaşamışsanız burada MinGW GCC gözükmüyor.

Son olarak C/C++ bölümündeki Editor tabının altında Folding kısmındaki Enable folding of... ile başlayan seçeneklere tik atıp Apply diyelim.

Apply and Close diyerek Eclipse ayarlarını bitirelim.

Test

Bu kadar uğraşmışken bir test edelim. File > New > C/C++ Project diyorum. Açılan pencerede C Managed Build seçeneğini seçiyorum.

Hello World ANSI C Project seçerek Finish diyorum.




Projeyi çalıştırma butonuna basıyorum ve çalıştı demek isterdim ama maalesef çalışmadı, son bir ayar kaldı.

Eclipse çalışma ortamının sol tarafında bulunan Project Explorer da testC proje klasörü üzerinde > sağ tık > Properties diyorum. Aşağıdaki gibi bir pencere açılıyor.

C/C++ Build bölümünün altında yer alan Settings tabına tıkladığınızda buradaki GCC C Compiler altında bulunan Miscellaneous klasörüne tıklıyorum.

Other flags kısmına " -c -fmessage-length=0 -std=gnu11 " yazıp Apply ve sonrasında Apply and Close diyorum.

Tekrar Project Explorer ' a dönüyoruz. .c dosyasımızı seçiyoruz.



Project > Clean menüsünü seçiyoruz. İçerisinde main metodu bulunan her dosya için bu işlem yapılmalıdır.

Açılan ekranda Clean butonuna basıyoruz. Son olarak Project > Build All dedikten sonra artık projemizi çalıştırabiliriz. Run dediğimizde uygulamızın çalıştığını göreceğiz.

Uygulama noktasında herhangi bir sorun yaşarsanız aşağıdaki yorum panelini kullanarak iletişime geçmekten çekinmeyin lütfen. Teşekkürler.

Kaynak belirtilmeyen görseller @etasarim a aittir. / Pictures that don’t have any source belongs to @etasarim.



Posted from my blog with SteemPress : http://etasarim.cloudaccess.host/19/02/2019/giris-c-programlama-dili/
Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  

Congratulations! This post has been upvoted from the communal account, @minnowsupport, by etasarim from the Minnow Support Project. It's a witness project run by aggroed, ausbitbank, teamsteem, someguy123, neoxian, followbtcnews, and netuoso. The goal is to help Steemit grow by supporting Minnows. Please find us at the Peace, Abundance, and Liberty Network (PALnet) Discord Channel. It's a completely public and open space to all members of the Steemit community who voluntarily choose to be there.

If you would like to delegate to the Minnow Support Project you can do so by clicking on the following links: 50SP, 100SP, 250SP, 500SP, 1000SP, 5000SP.
Be sure to leave at least 50SP undelegated on your account.

muhatabı ben ve benim gibilerdir.

İlk defa bir yazı da böyle bir uyarı gördüm. İyiymiş :))

Hocam yani yeni başlayanlar değildir demek istemişim :) Sizden de bir şey kaçmıyor.

Aynı şekilde benimde dikkatimi çekti ve okumadım 😂

@avina hocam ya olur mu :) aşk olsun.

Okusamda anlamıyorum hocam 😉

Anlamayanlar kervanında ben de varım:))) ama emek verildiğini anladığım için yorum bırakmadan geçemem bu yazıyı ☺️ Emeğine sağlık yine faydalı işlere imza atmaya devam ediyorsun 👍👏

Teşekkür ederim @baycan hocam yorumlarınız beni mutlu ediyor :)

Congratulations @etasarim! You have completed the following achievement on the Steem blockchain and have been rewarded with new badge(s) :

You made more than 3000 upvotes. Your next target is to reach 4000 upvotes.
You got more than 800 replies. Your next target is to reach 900 replies.

Click here to view your Board
If you no longer want to receive notifications, reply to this comment with the word STOP

To support your work, I also upvoted your post!

Do not miss the last post from @steemitboard:

Valentine challenge - Love is in the air!

You can upvote this notification to help all Steemit users. Learn why here!

Hi, @etasarim!

You just got a 1.58% upvote from SteemPlus!
To get higher upvotes, earn more SteemPlus Points (SPP). On your Steemit wallet, check your SPP balance and click on "How to earn SPP?" to find out all the ways to earn.
If you're not using SteemPlus yet, please check our last posts in here to see the many ways in which SteemPlus can improve your Steem experience on Steemit and Busy.


Bu yazı Curation Collective Discord Sunucusunda küratörlere önerilmiş ve manuel inceleme sonrasında @c-squared topluluk hesabından oy ve resteem almıştır.
This post was shared in the #turkish-curation channel in the Curation Collective Discord community for curators, and upvoted and resteemed by the @c-squared community account after manual review.
@c-squared runs a community witness. Please consider using one of your witness votes on us here