C++ CMake Şablon Repository’si

Merhaba sevgili yazılımperver dostlarım, CMake yazılarımın üzerinden oldukça uzun vakit geçti ve bu arada elbette CMake’e yönelik de bir çok değişiklik ve güncelleme oldu. Eski yazılarım için aşağıdaki adreslere göz atabilirsiniz: Merhaba CMake CMake- II (devam) O günden bu yana geliştirdiğim yazılımlarda CMake kullanmaya özen gösterdim ve edindiğim tecrübeleri de örnek bir repo’da bir araya… Continue reading

Haftalık C++ 60 – “Big Four”

Merhaba sevgili yazılımperver dostlarım, öncelikle hepinize 2024 yılında sevdiklerinize mutlu bir sene geçirmenizi diliyorum 🙂 Uzun süredir uEngine4 ile ilgili yazılar paylaştıktan sonra C++ maceramıza dönmenin vakti geldi. Elbette, uEngine’e ilişkin paylaşacağım daha bir çok konu var ama ufak bir ara vermekte bir sakınca yok sanırım. C++ 11, 14, 17’ye ilişkin bir çok konuya bakmış… Continue reading

Haftalık Videolar 11 – Windows XP Task Manager + How Linking Works

Pazar günü için sizler ile iki güzel video paylaşıyorum. Bunlardan ilki çok uzun olmayan ama açıkçası ilgi çekici bir video: “The Windows Source Code Revealed: Task Manager”.

Video, daha önce Windows XP task manager’ı geliştiren arkadaşın yıllar sonra MS’den izin de alarak, yazmış olduğu kodu aktarmasını içeriyor (aslında bu ilki, devamında da farklı yönlerine dğeiniyor).

Yıllar sonra, hepimizin aşina olduğu bir uygulamaya ilişkin kaynak kodları görmek açıkçası benim ilgimi çekti ayrıca yazarın o zaman yazmış olduğu kodlara yönelik yorumları da kayda değer. Bu kanalında güzel videolar mevcut, gözüme çarpan diğer videoları da paylaşıyor olacağım:

İkinci video ise ilkine göre biraz daha uzun olsa da bence oldukça bilgilendirici: “What Happens After The Compiler in C++ (How Linking Works)”.

İsminden de anlaşılacağı üzere, video linux için derleme sonrasında, bağlama (linking) aşamasında yapılanları oldukça yalın ve akıcı bir şekilde aktarıyor. Açıkçası, “Foundations of Linux Debugging, Disassembling, and Reversing: Analyze Binary Code, Understand Stack Memory Usage, and Reconstruct C/C++ Code with Intel x64” kitabından sonra böyle bir videoya denk gelince sizler ile paylaşma istedim, bir yazımda buradaki adımları da paylaşmayı planlıyorum.

İyi seyirler.

uEngine4 Serüveni – BasicGLPainter – II

Evet dostlar, GLPainter sınıfımızın kalan kabiliyetlerine bakma vakti geldi. Bu yazımızda aşağıdaki yazılarda eksik bıraktığımız konulara değinerek, GLPainter’ı sizlerin kullanımına sunuyorum. uEngine4 Serüveni – Giriş (Painter Sınıfları) uEngine4 Serüveni – BasicGLPainter – I Bir önceki yazımda GLPainter ile metin gösterimi ve resim çizmeye yönelik kabiliyetlere değinmiştik. Şimdi, kalan hususlara değinelim. Bunlardan ilki dönüşümler, diğeri ise… Continue reading

Haftalık C++ 59 – Linux C/C++ Uygulamalarında Yığın (“Stack”) Boyutu Ayarlama

Evet sevgili yazılımperver dostlarım, yazımın başlığından da anlaşılacağı üzere, bu yazımda çok spesifik bir konu üzerine eğileceğiz. Daha önceki yazılarımda heap ve stack belleklerinden bahsetmiştim (umarım 🙂 ) Kabaca, uygulama içerisinde, heap, new/malloc ile alınan bellek alanları için kullanılırken, stack ise tanımladığınız yerel değişkenler, iç içe çağırdığımız fonksiyona ilişkin bir takım veriler için kullanılan bellektir… Continue reading

Haftalık C++ 58 – std::vector İpuçları

Merhaba sevgili yazılımperver dostlarım, bu kısa yazımda, günlük kodlama hayatınızda (nasıl terminoloji 🙂 ) std::vector’e ilişkin dikkatinizden kaçabilecek ufak tefek ipuçlarına değineceğim. Bunları aynı zamanda bir hatırlama egzersizi olarak da görebilirsiniz. İlk olarak std::vector yapıcısına göz atalım.

Yukarıda göreceğiniz üzere, std::vector yapıcısı, ilgili nesneyi verilen adet kadar 0 ile dolduruyor. Bu kabiliyet en çok… Continue reading