C++ Dll Export Class

C++ DLL Export Class: Sınıfları DLL’lere Aktarma

C++’ta, sınıfları DLL’lere (Dinamik Bağlantı Kütüphaneleri) aktarmak, kodunuzu modüler hale getirmenin ve yeniden kullanılabilirliğini artırmanın harika bir yoludur. Bu, özellikle büyük ve karmaşık projelerde veya birden fazla geliştiricinin üzerinde çalıştığı projelerde kullanışlıdır.

Sınıfları DLL’lere aktarmak için, birkaç farklı yaklaşım kullanabilirsiniz. Bu makalede, en yaygın yaklaşımlardan biri olan __declspec(dllexport) anahtar sözcüğünü kullanarak sınıfları DLL’lere aktarmayı ele alacağız.

__declspec(dllexport) Anahtar Sözcüğü

__declspec(dllexport) anahtar sözcüğü, bir sınıfı veya sınıf üyesini DLL’ye aktarmak için kullanılır. Bu anahtar sözcüğü, sınıf veya sınıf üyesinin tanımından önce kullanılır. Örneğin, aşağıdaki kod bir Person sınıfını DLL’ye aktarır:

c++
__declspec(dllexport) class Person {
public:
Person(const std::string& name, int age);
std::string getName() const;
int getAge() const;
};

__declspec(dllexport) anahtar sözcüğü, sınıfı veya sınıf üyesini DLL’nin dışına aktarır. Bu, diğer programların sınıfı veya sınıf üyesini kullanmasına olanak tanır.

Sınıfları DLL’lere Aktarmak İçin Adımlar

Sınıfları DLL’lere aktarmak için şu adımları izleyebilirsiniz:

  1. Bir DLL projesi oluşturun.
  2. Sınıfınızı DLL projesine ekleyin.
  3. Sınıfınızın tanımına __declspec(dllexport) anahtar sözcüğünü ekleyin.
  4. DLL’yi derleyin.
  5. DLL’yi diğer programlarda kullanın.

Sınıfları DLL’lere Aktarmak İçin Örnek

Aşağıdaki örnek, bir Person sınıfını DLL’ye aktarmayı göstermektedir:

“`c++
// Person.h

pragma once

__declspec(dllexport) class Person {
public:
Person(const std::string& name, int age);
std::string getName() const;
int getAge() const;
};

// Person.cpp

include “Person.h”

Person::Person(const std::string& name, int age)
: m_name(name), m_age(age)
{
}

std::string Person::getName() const
{
return m_name;
}

int Person::getAge() const
{
return m_age;
}

// main.cpp

include “Person.h”

int main()
{
Person person(“John Doe”, 30);

std::cout << "Name: " << person.getName() << std::endl;
std::cout << "Age: " << person.getAge() << std::endl;

return 0;

}
“`

Bu örnekte, Person sınıfı Person.h başlık dosyasında tanımlanmıştır. __declspec(dllexport) anahtar sözcüğü, sınıfın tanımından önce kullanılmıştır. Person.cpp kaynak dosyasında, Person sınıfının üye fonksiyonları tanımlanmıştır. main.cpp kaynak dosyasında, Person sınıfı kullanılmıştır.

İndirme Linki, Üretici Firması, Ücretsiz Olup Olmadığı, Uyumlu İşletim Sistemleri ve Dosya Boyutu

  • İndirme Linki: C++ DLL Export Class
  • Üretici Firması: User
  • Ücretsiz Olup Olmadığı: Ücretsiz
  • Uyumlu İşletim Sistemleri: Windows, Linux, macOS
  • Dosya Boyutu: 10 KB

Yayımlandı

kategorisi

yazarı: