C# ve Native

Native uygulamalar,  makine koduna dönüştürülmüş kodları içermektedir. Örneğin C/C++ ile geliştirilmiş bir programlar nativedir.

.Net tarafında native olarak yazılmış kütüphaneleri kullanabilmek için Windows’un apilerinden yararlanılmaktadır. Native metodların .net tarafında kullanmak için farklı yöntemler mevcut fakat burda anlatılacak olan sarmalama (wrapping) ile kullanımına dairdir.

Örnek olarak aşağıda C ile yazılmış toplama işlemi yapan bir kütüphanenin(.lib) C# tarafından kullanılmasına bakarsak;

Öncelikle kütüphaneyi oluşturuyoruz.

native1

Static library’i seçiyoruz. Burda Shared Library ya da Dynamic Link Library seçerseniz DLL üretebilirsiniz fakat anlatacığım yöntemde biz sarmalama (wrapping) yapacağımız için .lib seçiyoruz.

native2

Proje ismini ve diğer detayları belirliyoruz.

 native3

Yukardaki kod otomatik oluşturulmakta. Mâşallah bunu yazan arkadaş da çok dertliymiş 🙂

Süper metodumuzu zaten kendileri bizim için yazmış “SampleAddInt” adında. Geriye kalan metod ve yorum satırlarını temizliyoruz. Sarmala yapacağımız projede kullanılacak metodların bildirimlerini eklenen header (.h) dosyasında yapıyoruz.

ToplamaLib.h :