C++ Nedir , Temel Dersleri

  • Konbuyu başlatan Konbuyu başlatan Admin
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 0
  • Görüntüleme Görüntüleme 107

Admin

Metin2Lobby
Yönetici
Founder
Katılım
6 Mayıs 2022
Mesajlar
52,647
Ticaret : 1 / 0 / 0
Temel Bilgiler
C++ bilindiği gibi programlama dünyasında en çok ilgi gören C dilinden türemiştir. C++'ı klasik C dilinden farklı yapan yanı; Nesne Yönelimli Programlamayı da ( Object Oriented Programming) C'nin sözdizimi kurallarıyla birlikte desteklemesidir. Normalde C ile sadece yapısal programlama yaparken C++ dili ile hem yapısal hem de nesne yönelimli programlar yazabilirisiniz. C++ diline başlarken önce dilin C'den gelen ve temel olan özelliklerini öğrenmek gerekir. Örneğin değişken tanımlama atama ve diğer basit aritmektik işlemler kontrol yapıları ve döngüler gibi.
Teknolojinin ulaştığı son noktadaki programlama dillerinden olan C ve C++ bir çok yeni ve güçlü özellikleri içerir. Derslerimiz devam ettikçe bunların teker teker içine gireceğiz. C dilinin özelliklerinin %80 i C++'da da mevcuttur (bu karşılaştırma şahsi görüşümdür). Zaten C++ C'nin üst gurubudur. Bunu şöyle sıralayabiliriz. C C++ ve C# dır.
C dilinin avantajları az komut kümesinden oluşması ve bu komutların diğer yüksek seviyeli dillere nazaran daha hızlı çalışmasıdır. Ayrıca C deki kütüphaneler sayesinde fonksiyon tanımlamanıza gerek kalmadan işlemlerinizi yapmak mümkün olacaktır. Bu konuda çok detaya inmeden programlamaya geçmek istiyorum. Çünküprogramlamaya başladığımızda her örnekten sonra o an kullandığımız programın içinde geçen fonksiyon hatadeğişken belirleyiciler kısıtlamalar notasyonlar v.s gibi bilgilerden ara ara bahsedeceğim. Yalnız çok önemli olan bir konuya burada değinmek istiyorum. C nin avantajlarını programlamayla birlikte görmek güzel ama C nin dezavantajlarını programlamadan önce bilmeliyiz ki bunlardan sakınalım. Öncelikle Tanımlayıcılardan bahsetmek istiyorum. Her derleyici ve assmbley için değişkenleri sabitleri etiketleri ve fonksiyon adlarını tanımlama kuralları vardır. Bu notasyonlara tanımlayıcı denir. C++ da tüm tanımlayıcılar a . . . z - A . . . Z harfleri ile ya da alt çizgi "_" ile başlar. Bundan sonra rakam harf ya da alt çizgi kullanılabilir. ANCI C uyumlu derleyiciler 31 karaktere kadar tanımlayıcı kabul ederler fakat tanımlayıcının ilk sekiz karakterini kullanmayı kendimize alışkanlık etmeliyiz. Dikkat etmemiz gereken özelliklerden biri de kullandığımız ifadelerdeki büyük küçük harflerdir. C ve C++ büyük ve küçük harf duyarlılığına sahiptir. Kullandığımız ifadeleri birbirinden farklı ve aynı ifade olarak kullanıyorsak programımız hata verecektir. Bunu bir örnekle anlatayım:
Program
PROGRAM
progRAM
ProgRam Bu şekilde tanımlarsak hepsi birbirinden farklı ifadeler olarak C++ da okunacaktır. Biz Şunu alışkanlık edinmeliyiz; tanımlayıcılarımızın baş harfi büyük olacak. Büyük ve küçük harf kombinasyonlarının kullanılması ile önceden yapılan tanımlamalar bazen işi zorlaştırabilir. Eğer bu değişkenlerden birini kullanmak isterseniz bu zamana kadar nasıl tanımladığınızı bilmeniz gerekir. Örneğin printf()`in PRINTF() olarak çağrılması durumunda " bilinmeyen tanımlayıcı " (Unknown identifier) hata mesajı vererek sizi uyarır. Buna benzer olarak %f ve %F kullanımı hata verdirecektir. Programlamayı yaparken bunlara dikkat etmemiz gerekecek. Çünkü bir değişkeni veya tanımlayıcıyı başta nasıl kullandıysanız üç dört sayfa kod yazdıktan sonrada aynı şekliyle kullanmak zorundasınızdır. İşte burada en büyük handikap yaşanacaktır. Çünkü C/C++ derleyicileri her zaman hatanın nerde olduğunu göstermez. Bunu programcı kendisi satır satır takip ederek bulacaktır. Bundan dolayı bu söylediklerime baştan dikkat etmemiz gerekiyor.
Tavsiyeler:

İyi bir programlama yapabilmek için benim size olan tavsiyelerim; daha az kod kullanarak daha çok işlem yapabilme. Gerçi bunu yapsak zaten profesyonel oluruz . Zaten C++ `ın paradigması da buradan geliyor. Aslında C++ da yapabileceğimiz tüm programları C de yapma olanağımız var ama bu bize hem fazla kod yazmayı gerektirecek hem de zaman kaybetmemize sebep olacak. Zaten bunlardan kaçındığımız için C++ diyoruz. Elimizde nesneye yönelik bir dil varken ve kullanacağımız fonksiyonlar içinde hazır olarak mevcutsa tabi bize de bunun keyfini sürmek kalıyor. Tavsiyelerimden biride derslerde verdiğimiz örneklerin dışında aynı algoritmaya benzer farklı örnekler yapın. Öğrenmenin en iyi yolu yanlış yapmaktır. Bunu şöyle izah edeyim: eğer yanlış yapıyorsanız ve de o yanlışın kaynağını bulup düzeltebiliyorsanız o an onu öğrenmişsiniz demektir. Tabi örnekler sizin için alıştırma olacaktır ve hafızanızda kalıcı bir yer tutacaktır. Bunca kodu başka türlü hafızada tutamayız. İlk başlarda sık sık not alınızmümkün olduğunca da bol örnek yapınız. Örneklerinizi de kendiniz düşünüp kendi hayal gücünüzle oluşturursanız eminim bu işi başaracaksınızdır. Başta çok zor gelebilir ama başarı ter dökülmeden olmaz. Bu kısmı fazla uzatıp sizi daha başlamadan C/C++ dan uzaklaştırmak istemiyorum.
C++ İle Programlamaya Giriş

İlk programımız!

// ilk1.cpp
// Ekrana "Bu benim ilk programım" yazdırıyoruz
#include <iostream.h>

int main()
{
cout << "Bu benim ilk programım";

return 0;
} Şimdi Yazdığımız programı inceleyelim:
"//" işaretini açıklama satırlarında kullanıyoruz. C++ derleyicisi bu notasyonla başlayan satırı okumaz. Bununla birlikte daha uzun cümlelerimiz olursa bunları da " /* */ " notasyonunun içinde yazıcağız. Bu özellik de C den bize kalma. Demiştik zaten C `nin tüm özelliklerini C++ içerir. Fakat biz genelde " // " yi kullanacağız.
#include <iostream.h> : Bu bizim C++ da bulunan kütüphane dosyamızı çağırmaya yarıyor. Ben size şöyle tarif edeyim. iostream.h kütüphanesindeki hazır olan " cout " fonksiyonunu çağırıyor. Yani buda bizim fazla kod yazmamıza engel oluyor. .h ile biten dosyalar kütüphane dosyalarıdır. Bunu şuna da benzetebiliriz. Farz edelim ki elimizde bir alet çantası var içinden tornavidayı çağırdığımızda vida sıkacağızdır. Bu da ona benziyor. C++ da ki hazır kütüphanelerde bir çok hazır fonksiyonlar vardır. İlerde Bu hazır fonksiyonlar işimizi görmemeye başlayınca kendi kütüphanemizi yapmaya başlayacağız. Tabi bu seviyeye geldiğimizde olayı hemen hemen kavramış olacağıztabi neden olmasın öyle değil mi?
Daha sonraki satır her C++ programında mutlaka bulunması gereken bir satırdır. Her C++ programında main() fonksiyonu olmak zorundadır; bu fonksiyonumuzun önünde ise o fonksiyonun dönderdiği değişkenin veri tipi olmalıdır. Tabi ki C++ fonksiyonlar ve onların dönderdikleri değerler konusunu da ileride işleyeceğiz.
Bir sonraki satırda ise; C++ fonksiyonlar ve kod blokları " { } " parantezleri arasında bulunmalıdır. main de bir fonksiyon ise onun içindeki kodlar doğal olarak { } parantezleri arasındadır.
Program derlenip çalıştırıldığında ise ( Turbo C++ 3.1 kullanıyorsanız ctrl+f9 kısa yoluyla programı çalıştırabilirsiniz (Run) ) karşımıza "Bu benim ilk programım" yazısı çıkacaktır. İşte bu yazıyı ekrana veren komut da iostream.h kütüphanesindeki cout fonksiyonudur.
Önemli bir nokta ise C++ dilinde her satır ifadenin sonuna " ; " koymak zorundayız. Bundan farklı olarak #include satırlarının ve bir kaç farklı satırın arkasına " ; " gelmez. Bunları ileride göreceğiz.
Return 0 : programımızın (aynı zamanda main fonksiyonumuzun) çıkış noktasıdır. Eğer return ile 0 değeri dönderirsek programımızın güvenle çıktığını işletim sistemine bildirmiş oluruz. Bu sayede güvenle programımızın çalıştığını göreceğiz.
Şimdi size bir örnek daha vereceğim bununla da aynı çıktıyı elde edeceğiz. Arasındaki farkları eminim basit olarak sizlerde göreceksinizdir.
// ilk2.cpp
// Ekrana "Bu benim ilk programım" yazdırıyoruz
#include <stdio.h>
main()
{
printf("Selam bu benim ilk programım.\n");
return 0;
} Evet şimdi burada çok fark varmış gibi gözüküyor aslında ama öyle değil. Sadece kütüphanemiz stdio.h oldu ve ekrana yazdır fonksiyonumuzda printf oldu. Bu özellik C den kalma. Bunlar diğer program ile aynı işlevi görüyor. Buradaki fark " \n " notasyonu. Bu noptasyon bir sonraki satıra geçmek için kullanılır. Bu notasyonlara Escape dizileri denir. Tablo olarak bunları size veriyorum. Son yazdığımız ilk2.cpp de yerlerine koyarsanız çalışacaktır.
C++ Nedir ve Metin2 Geliştirme Bağlamında Kullanımı
C++, güçlü ve esnek bir programlama dilidir. Özellikle performans gerektiren sistemlerde tercih edilir. Oyun geliştirme, sistem programlama, sunucu tarafı uygulamalar gibi alanlarda yaygın olarak kullanılır. Metin2 özel sunucu geliştirme dünyasında C++, temel dillerden biridir. Sunucu kaynak kodları genellikle C++ ile yazılmaktadır. Bu nedenle Metin2 geliştiricileri için C++ bilgisi oldukça değerlidir.

Metin2 Server Src ve C++
Metin2 özel sunucuları geliştirilirken, server src (sunucu kaynağı) C++ tabanlıdır. Bu kaynak kodlar sayesinde geliştiriciler, oyun mekaniklerini, PvP sistemlerini, DB bağlantılarını ve diğer sunucu taraflı işlemleri özelleştirebilir. C++ bilgisi olmadan bu sistemleri tam anlamıyla kontrol etmek zordur. Bu yüzden C++ öğrenmek, Metin2 geliştirme sürecinde büyük avantaj sağlar.

C++ Temel Dersleri Nelerdir?
C++ öğrenmek isteyenler için bazı temel konular vardır. Bunlar arasında değişkenler, veri tipleri, fonksiyonlar, sınıflar, pointerlar, bellek yönetimi gibi konular yer alır. Ayrıca C++ dilinde nesne yönelimli programlama (OOP) da önemli bir yere sahiptir. Metin2 geliştirme bağlamında özellikle sınıflar, fonkisyonlar ve bellek yönetimi çok önemlidir. Bu konular üzerine çalışmak, daha iyi bir Metin2 geliştirici olmanıza yardımcı olur.

Python ile C++ Arasındaki İlişki[/ADDR][/BR]Metin2 geliştirme süreçlerinde sadece C++ değil, Python da önemli bir rol oynar. Özellikle GUI (grafiksel kullanıcı arayüzü) oluşturma, script geliştirme ve bazı otomasyon işlemleri için Python tercih edilir. Uiscript, py root, pack gibi kavramlar Python ile doğrudan ilişkilidir. C++ ile sunucu tarafı, Python ile istemci tarafı veya yardımcı sistemler geliştirilebilir. Bu iki dil birlikte kullanıldığında güçlü sistemler ortaya çıkar.

DB ve Game Core ile Entegrasyon
Metin2 oyun sistemlerinde DB (veritabanı) ve game core (oyun çekirdeği) arasında sıkı bir entegrasyon vardır. C++ ile bu çekirdek sistemler üzerinde çalışmak mümkündür. Auth ve game sunucuları arasındaki iletişim, veri aktarımı, karakter verileri, eşya sistemleri gibi pek çok işlem C++ üzerinden kontrol edilir. Bu nedenle DB bağlantısı ve core düzenlemeleri için C++ bilgisi şarttır.

Metin2 Compile ve Source Edit İşlemleri
Sunucu kaynak kodları üzerinde değişiklik yapmak isteyen geliştiriciler, derleme (compile) işlemlerini C++ ile yaparlar. Source edit (kaynak düzenleme), compile etme, debug (hata ayıklama) gibi adımlar C++ bilgisi gerektirir. Metin2 compile işlemleri sırasında hata alınması durumunda, C++ bilgisi ile hızlıca çözüme ulaşmak mümkündür.

Martysama ve Metin2 Development Araçları
Metin2 geliştirme dünyasında Martysama gibi isimler, birçok geliştiriciye kaynak ve rehberlik sunmuştur. Bu tür kaynaklar sayesinde C++ ile yapılabilecekler artar. Metin2Dev toplulukları da benzer şekilde destek sunar. Bu alanlarda aktif olmak, C++ bilginizi uygulamalı olarak geliştirmenize yardımcı olur.

Sonuç
C++ dilini öğrenmek ve Metin2 özel sunucu geliştirme süreçlerinde kullanmak, hem teknik becerilerinizi artırır hem de oyun geliştirme dünyasında daha fazla imkan elde etmenizi sağlar. Hem sunucu hem istemci tarafında etkili sistemler kurmak için C++ ve Python birlikte kullanılabilir. Bu sayede DB, core, PvP sistemleri ve daha fazlası üzerinde özgün çalışmalar yapılabilir.


What is C++ and Its Usage in Metin2 Development
C++ is a powerful and flexible programming language. It is commonly preferred in systems that require high performance. It is widely used in areas such as game development, system programming, and server-side applications. In the world of Metin2 private server development, C++ is one of the main languages. Server source codes are generally written in C++. Therefore, knowledge of C++ is highly valuable for Metin2 developers.

Metin2 Server Src and C++
When developing Metin2 private servers, the server src (server source code) is based on C++. These source codes allow developers to customize game mechanics, PvP systems, DB connections, and other server-side operations. It is difficult to fully control these systems without knowledge of C++. Therefore, learning C++ provides a significant advantage during the Metin2 development process.

What Are the Basic Lessons of C++?
There are certain fundamental topics for those who want to learn C++. These include variables, data types, functions, classes, pointers, memory management, etc. Additionally, object-oriented programming (OOP) holds an important place in C++. In the context of Metin2 development, particularly classes, functions, and memory management are very important. Studying these subjects helps you become a better Metin2 developer.

The Relationship Between Python and C++
In Metin2 development processes, not only C++ but also Python plays an important role. Especially for GUI (graphical user interface) creation, script development, and some automation tasks, Python is preferred. Concepts like uiscript, py root, pack are directly related to Python. While C++ handles the server side, Python can be used for the client side or auxiliary systems. When used together, these two languages create powerful systems.

Integration with DB and Game Core
There is tight integration between DB (database) and game core in Metin2 game systems. It is possible to work on these core systems using C++. Communication between auth and game servers, data transfer, character data, item systems, etc., are all controlled through C++. Therefore, knowledge of C++ is essential for DB connections and core modifications.

Metin2 Compile and Source Edit Operations
Developers who want to make changes to server source codes perform compilation operations in C++. Source editing, compiling, debugging steps require C++ knowledge. If errors occur during Metin2 compilation, it is possible to quickly find solutions with C++ knowledge.

Martysama and Metin2 Development Tools
In the world of Metin2 development, names like Martysama provide resources and guidance to many developers. Thanks to such sources, what can be done with C++ increases. Metin2Dev communities offer similar support. Being active in these areas helps improve your C++ skills practically.

Conclusion
Learning the C++ language and using it in Metin2 private server development processes both enhances your technical skills and allows you to gain more opportunities in the game development world. Both server and client-side effective systems can be built by using C++ and Python together. Thus, original works can be carried out on DB, core, PvP systems, and more.
 

Şuan Bu Konuyu Görüntüleyen Kullanıcılar (Toplam : 0, Üye : 0, Misafir : 0)

Benzer konular

Geri
Üst Alt