‫Merhaba ve hoş geldiniz.
‫Bu derste, derleyiciler ve editörler hakkında konuşacağız, ne olduklarını ve C++ yazmak istediğimizde
‫neden onlara ihtiyacımız olduğunu anlayacağız.
‫Öyleyse birkaç sözlük tanımıyla başlayalım ve daha geniş ekosisteme nasıl uyduklarını görelim.
‫Her şeyden önce, kaynak kodu.
‫Bu, ilk etapta neden bir derleyiciye ihtiyaç duyduğumuzu anlamak için çok önemlidir.
‫Kaynak kodu, yazdığımız koddur.
‫Genelde metin olur.
‫C++ gibi insan tarafından okunabilir bir kod biçimidir.
‫Ancak bazen kaynak kodunu da planlar olarak düşünebilirsiniz.
‫Bunlar, oyununuzun ne yapmasını istediğinizi, bilgisayarın ne yapmasını istediğinizi tanımlamanın insan tarafından okunabilir
‫yollarıdır.
‫Ve en önemlisi, insanın okuyabileceği kısımdır çünkü bir makinenin bunu yürütebilmesi, çalıştırabilmesi
‫için tasarlanmamıştır.
‫İkili yürütülebilir dosyanın rolü budur.
‫Genellikle ikili kod birler ve sıfırlardır ve bir makinenin bunu hızlı bir şekilde okuyabilmesi ve CPU'nuzda
‫ve CPU'nuzda çalıştırabilmesi için tasarlanmıştır.
‫Ve bu yüzden makine tarafından okunabilir bir koddur.
‫Yani bu ikisi arasında bir boşluk var ve bu boşluğu düzeltmemiz gerekiyor ki insan tarafından okunabilir kodumuzu makine tarafından okunabilir
‫koda dönüştürebilelim.
‫İşte bu sözde derleyicinin rolü budur.
‫İnsan tarafından okunabilir C++ veya planlardan tercüme eder.
‫Daha önce de gördüğümüz gibi, blueprint derleyici hataları ve bunun gibi şeylerle karşılaştık.
‫Böylece insandan makine alanlarına çeviri yapar ve bu XY dosyalarını veya bu ikili dosyaları veya hangi platformda
‫olursanız olun oluşturur.
‫Açıkçası bir derleyicinin ne yaptığıyla ilgili çok fazla karmaşıklık var ve daha sonra bunun daha karmaşık
‫kısımları hakkında daha fazla şey öğreneceğiz.
‫Ancak şimdilik, kaynak koddan ikili koda dönüştüren bir yazılım parçası olduğunu bilmek yeterli.
‫Bir de kaynak kod editörü adı verilen ve C++ gibi insan tarafından okunabilir kodlar
‫yazarken hayatınızı kolaylaştırmak için kullanılan bir yazılım daha var.
‫Bize otomatik tamamlama gibi şeyler sunar ve yazım denetleyicisi gibi otomatik olarak yazmış olabileceğimiz hataları vurgular,
‫böylece kaynak kodla uğraşırken hayatımızı çok daha kolaylaştırabilir.
‫Şimdi tüm bunların gerçek dışı ekosistemde nasıl bir araya geldiğini görelim.
‫Şimdiye kadar editörle uğraşıyorduk.
‫Editör bir yazılım parçasıdır ve bizim için zaten derlenmiş olan bir yazılımdır ve gidip yüklediğimizde bu editör
‫için çalıştırılabilir dosyaya zaten sahibiz.
‫Böylece editörü açabiliriz.
‫Editör, çeşitli oyun varlıklarını kullanarak oyun projemizi değiştirmemize ve oluşturmamıza olanak tanır.
‫Bunlar, projemize getirdiğimiz kafesler gibi şeyleri içerir.
‫Blueprint varlıklarını ve blueprint kodunu buraya eklerler.
‫Bu sayede editörde oluşturduğumuz bu oyun varlıklarını kullanarak oyunu ayrı bir bağımsız
‫yürütülebilir dosyada çalıştırabilir ve sadece oyunu oynatabilir, başka bir şey yapmayabiliriz.
‫Ancak, C++ kullanmaya başlamak istersek tablo biraz değişir.
‫C++, editörün temelidir ve bu nedenle, editördeki C++'ı değiştirirsek, esasen editörün ikili
‫yürütülebilir dosyasını yeniden oluşturmamız gerekir.
‫Kaynak kodumuz buradaysa, bunun biraz şuna benzediğini biliyoruz.
‫Elimizde bazı metinler var.
‫Temel olarak, kaynak kodumuzu oluşturan şey budur ve bu kaynak kodunu daha önce blueprint adı verilen kaynak kod editörü adı verilen ayrı
‫bir yazılım parçası kullanarak tekrar düzenleriz.
‫Yazılımla sıkı bir şekilde entegre olduğu için hepsini Unreal editörü içinde düzenliyoruz.
‫Ancak, C++ ile uğraşırken, kodu düzenlemek için üçüncü taraf yazılımlar kullanıyoruz.
‫Şimdi, bu kursta kullanacağımız Visual Studio Code olarak adlandırılıyor çünkü çapraz
‫platform Mac, Linux ve Windows'ta mükemmel bir şekilde çalışıyor ve aynı zamanda çok hafif.
‫Ancak dediğim gibi, yazdığımız kaynak kod ile bunu oyunu editörde çalıştırmak için
‫gereken ikili yürütülebilir dosyaya dönüştürmek ve gerçek nihai oyun ürünü arasında bir boşluk var.
‫Ve bu parça derleyicidir.
‫Derleyici kaynak kodumuzu alacak, kaynak kodumuzda kullandığımız Unreal'da zaten yerleşik olan kütüphaneleri
‫ve işlevleri alacaktır.
‫Bunları birlikte derleyecek, ikili dosyaya dönüştürecek ve çıktı verecektir.
‫Ya açıp oyun varlıklarımızı düzenleyebileceğimiz bir editör ya da oyun varlıklarımızı alacak ve oyuncunun sadece
‫oyunumuzu oynamasına izin verecek bir oyun çıkaracak.
‫Şimdi hangi platformda olduğunuza bağlı olarak iki derleyici seçeneği vardır.
‫Windows kullanıyorsanız, Visual Studio kullanacağız, bu yüzden bunları çok fazla karıştırmayın.
‫Çok benzer logoları ve çok benzer isimleri var.
‫Biri derleyici olan Visual Studio, diğeri ise sadece kaynak kodu düzenleyicisi olan ve Visual Studio
‫Code olarak adlandırılan bir tane var.
‫Şimdi, eğer bir mac kullanıyorsanız, bunun yerine X kodunu kullanacaksınız.
‫Mac'teki derleyici, her şeyi çapraz platformda tutmak, herkes için aynı tutmak için mi?
‫Bu derleyicilerin yerleşik kaynak kodu düzenleme özellikleri olmasına rağmen, kodu gerçekten düzenlemek
‫için Visual Studio kodunu kullanacağız.
‫Ancak bu derleyicileri kaynak kodu alıp ikili çalıştırılabilir hale getirmek için kullanacağız.
‫Tamam, bu ders için bu kadar.
‫Umarım neden bir derleyiciye ve neden bir kaynak kodu editörüne ihtiyaç duyduğumuzu biraz daha iyi anlamışsınızdır.
‫Önümüzdeki birkaç derste, bunları yükleme sürecinden geçeceğiz.
‫Orada görüşürüz.