İzlenecek yol: Statik kitaplık oluşturma ve kullanma

Bu adım adım izlenecek yol, C++ uygulamalarıyla kullanmak üzere statik kitaplığın (.lib dosyası) nasıl oluşturulacağını gösterir. Statik kitaplık kullanmak, kodu yeniden kullanmanın harika bir yoludur. İşlevsellik gerektiren her uygulamada aynı yordamları yeniden oluşturmak yerine, bunları statik bir kitaplığa bir kez yazıp uygulamalardan başvurursunuz. Statik kitaplıktan bağlanan kod uygulamanızın bir parçası olur; kodu kullanmak için başka bir dosya yüklemeniz gerekmez.

Bu izlenecek yol şu görevleri kapsar:

Önkoşullar

C++ dilinin temellerini anlama.

Statik kitaplık projesi oluşturma

Projeyi oluşturma yönergeleri, Visual Studio sürümünüze bağlı olarak değişir. Tercih ettiğiniz Visual Studio sürümünün belgelerini görmek için Sürüm seçici denetimini kullanın. Bu sayfadaki içindekiler tablosunun en üstünde bulunur.

Visual Studio'da statik kitaplık projesi oluşturmak için

  1. Menü çubuğunda Dosya Yeni Proje'yi seçerek >Yeni>Proje Oluştur iletişim kutusunu açın.

  2. İletişim kutusunun üst kısmında Dil'i C++ olarak, Platform'ı Windows olarak ve Proje türünü Kitaplık olarak ayarlayın.

  3. Filtrelenen proje türleri listesinden Windows Masaüstü Sihirbazı'nı ve ardından İleri'yi seçin.

  4. Yeni projenizi yapılandırın sayfasında Proje adı kutusuna MathLibrary girerek proje için bir ad belirtin. Çözüm adı kutusuna StaticMath yazın. Oluştur düğmesini seçerek Windows Masaüstü Projesi iletişim kutusunu açın.

  5. Windows Masaüstü Projesi iletişim kutusundaki Uygulama türü'nin altında Statik Kitaplık (.lib) öğesini seçin.

  6. Ek seçenekler'in altında, önceden derlenmiş üst bilgi işaretliyse üst bilgi onay kutusunun işaretini kaldırın. Boş proje kutusunu işaretleyin.

  7. Projeyi oluşturmak için Tamam'ı seçin.

Visual Studio 2017'de statik kitaplık projesi oluşturmak için

  1. Menü çubuğunda Dosya Yeni Proje'yi> seçin.>

  2. Yeni Proje iletişim kutusunda Yüklü>Visual C++>Windows Masaüstü'nü seçin. Orta bölmede Windows Masaüstü Sihirbazı'nı seçin.

  3. Ad kutusunda proje için bir ad (örneğin, MathLibrary) belirtin. Çözüm Adı kutusunda çözüm için bir ad (örneğin StaticMath) belirtin. Tamam düğmesini seçin.

  4. Windows Masaüstü Projesi iletişim kutusundaki Uygulama türü'nin altında Statik Kitaplık (.lib) öğesini seçin.

  5. Ek Seçenekler'in altında, işaretliyse Önceden derlenmiş üst bilgi onay kutusunun işaretini kaldırın. Boş proje kutusunu işaretleyin.

  6. Projeyi oluşturmak için Tamam'ı seçin.

Visual Studio 2015'te statik kitaplık projesi oluşturmak için

  1. Menü çubuğunda Dosya Yeni Proje'yi> seçin.>

  2. Yeni Proje iletişim kutusunda Yüklü>Şablonlar>Visual C++>Win32'yi seçin. Orta bölmede Win32 Konsol Uygulaması'nı seçin.

  3. Ad kutusunda proje için bir ad (örneğin, MathLibrary) belirtin. Çözüm Adı kutusunda çözüm için bir ad (örneğin StaticMath) belirtin. Tamam düğmesini seçin.

  4. Win32 Uygulama Sihirbazı'nda İleri'yi seçin.

  5. Uygulama Ayarları sayfasında, Uygulama türü'nin altında Statik kitaplık'ı seçin. Ek seçenekler'in altında, Önceden derlenmiş üst bilgi onay kutusunun işaretini kaldırın. Projeyi oluşturmak için Son'u seçin.

Statik kitaplığa sınıf ekleme

Statik kitaplığa sınıf eklemek için

  1. Yeni bir sınıf için üst bilgi dosyası oluşturmak üzere sağ tıklayarak mathlibrary projesinin kısayol menüsünü Çözüm Gezgini açın ve ardından Yeni Öğe Ekle'yi >seçin.

  2. Yeni Öğe Ekle iletişim kutusunda Visual C++>Code'ı seçin. Orta bölmede Üst Bilgi Dosyası (.h) öğesini seçin. Üst bilgi dosyası için bir ad belirtin (örneğin, MathLibrary.h) ve ardından Ekle düğmesini seçin. Neredeyse boş bir üst bilgi dosyası görüntülenir.

  3. Toplama, çıkarma, çarpma ve bölme gibi yaygın matematik işlemlerini yapmak için adlı Arithmetic sınıf için bir bildirim ekleyin. Kod şuna benzemelidir:

    // MathLibrary.h
    #pragma once
    
    namespace MathLibrary
    {
        class Arithmetic
        {
        public:
            // Returns a + b
            static double Add(double a, double b);
    
            // Returns a - b
            static double Subtract(double a, double b);
    
            // Returns a * b
            static double Multiply(double a, double b);
    
            // Returns a / b
            static double Divide(double a, double b);
        };
    }
    
  4. Yeni sınıf için kaynak dosya oluşturmak için, Çözüm Gezgini mathlibrary projesinin kısayol menüsünü açın ve ardından Yeni Öğe Ekle'yi>seçin.

  5. Yeni Öğe Ekle iletişim kutusundaki orta bölmede C++ Dosyası (.cpp) öğesini seçin. Kaynak dosya için bir ad belirtin (örneğin, MathLibrary.cpp) ve ardından Ekle düğmesini seçin. Boş bir kaynak dosyası görüntülenir.

  6. sınıfının Arithmeticişlevselliğini uygulamak için bu kaynak dosyasını kullanın. Kod şuna benzemelidir:

    // MathLibrary.cpp
    // compile with: cl /c /EHsc MathLibrary.cpp
    // post-build command: lib MathLibrary.obj
    
    #include "MathLibrary.h"
    
    namespace MathLibrary
    {
        double Arithmetic::Add(double a, double b)
        {
            return a + b;
        }
    
        double Arithmetic::Subtract(double a, double b)
        {
            return a - b;
        }
    
        double Arithmetic::Multiply(double a, double b)
        {
            return a * b;
        }
    
        double Arithmetic::Divide(double a, double b)
        {
            return a / b;
        }
    }
    
  7. Statik kitaplığı oluşturmak için menü çubuğunda Derleme Çözümü'ne> tıklayın. Derleme, diğer programlar tarafından kullanılabilecek MathLibrary.lib adlı statik bir kitaplık oluşturur.

    Not

    Visual Studio komut satırında derleme yaparken, programı iki adımda oluşturmanız gerekir. İlk olarak komutunu çalıştırarak cl /c /EHsc MathLibrary.cpp kodu derleyin ve MathLibrary.obj adlı bir nesne dosyası oluşturun. (komutu cl derleyiciyi çağırır, Cl.exe ve /c seçeneği bağlamadan derlemeyi belirtir. Daha fazla bilgi için bkz. /c (Bağlama Olmadan Derleme).) İkinci olarak komutunu çalıştırarak lib MathLibrary.obj kodu bağlayın ve MathLibrary.lib statik kitaplığını oluşturun. (Komut lib Kitaplık Yöneticisi'ni Lib.exe çağırır. Daha fazla bilgi için bkz. LIB Başvurusu.)

Statik kitaplığa başvuran bir C++ konsol uygulaması oluşturma

Visual Studio'da statik kitaplığa başvuran bir C++ konsol uygulaması oluşturmak için

  1. Çözüm Gezgini üst düğüm olan Çözüm 'StaticMath' öğesine sağ tıklayarak kısayol menüsünü açın. Yeni Proje Ekle'yi>seçerek Yeni Proje Ekle iletişim kutusunu açın.

  2. İletişim kutusunun üst kısmında Proje türü filtresini Konsol olarak ayarlayın.

  3. Filtrelenen proje türleri listesinden Konsol Uygulaması'nı ve ardından İleri'yi seçin. Sonraki sayfada, proje için bir ad belirtmek üzere Ad kutusuna MathClient girin.

  4. İstemci projesini oluşturmak için Oluştur düğmesini seçin.

  5. Bir konsol uygulaması oluşturduktan sonra sizin için boş bir program oluşturulur. Kaynak dosyanın adı, daha önce seçtiğiniz adla aynıdır. Örnekte adı MathClient.cppverilmiştir.

Visual Studio 2017'de statik kitaplığa başvuran bir C++ konsol uygulaması oluşturmak için

  1. Çözüm Gezgini üst düğüm olan Çözüm 'StaticMath' öğesine sağ tıklayarak kısayol menüsünü açın. Yeni Proje Ekle'yi>seçerek Yeni Proje Ekle iletişim kutusunu açın.

  2. Yeni Proje Ekle iletişim kutusunda Yüklü>Visual C++>Windows Masaüstü'nü seçin. Orta bölmede Windows Masaüstü Sihirbazı'nı seçin.

  3. Ad kutusunda proje için bir ad (örneğin, MathClient) belirtin. Tamam düğmesini seçin.

  4. Windows Masaüstü Projesi iletişim kutusundaki Uygulama türü'nin altında Konsol Uygulaması (.exe) öğesini seçin.

  5. Ek Seçenekler'in altında, işaretliyse Önceden derlenmiş üst bilgi onay kutusunun işaretini kaldırın.

  6. Projeyi oluşturmak için Tamam'ı seçin.

  7. Bir konsol uygulaması oluşturduktan sonra sizin için boş bir program oluşturulur. Kaynak dosyanın adı, daha önce seçtiğiniz adla aynıdır. Örnekte adı MathClient.cppverilmiştir.

Visual Studio 2015'te statik kitaplığa başvuran bir C++ konsol uygulaması oluşturmak için

  1. Çözüm Gezgini üst düğüm olan Çözüm 'StaticMath' öğesine sağ tıklayarak kısayol menüsünü açın. Yeni Proje Ekle'yi>seçerek Yeni Proje Ekle iletişim kutusunu açın.

  2. Yeni Proje Ekle iletişim kutusunda Yüklü>Visual C++>Win32'yi seçin. Orta bölmede Win32 Konsol Uygulaması'nı seçin.

  3. Ad kutusunda proje için bir ad (örneğin, MathClient) belirtin. Tamam düğmesini seçin.

  4. Win32 Uygulama Sihirbazı iletişim kutusunda İleri'yi seçin.

  5. Uygulama Ayarları sayfasındaki Uygulama türü'nin altında Konsol uygulamasının seçili olduğundan emin olun. Ek seçenekler'in altında, Önceden derlenmiş üst bilgi'nin işaretini kaldırın ve Ardından Projeyi Boşalt onay kutusunu işaretleyin. Projeyi oluşturmak için Son'u seçin.

  6. Boş projeye kaynak dosya eklemek için sağ tıklayarak mathclient projesinin kısayol menüsünü Çözüm Gezgini açın ve ardından Yeni Öğe Ekle'yi >seçin.

  7. Yeni Öğe Ekle iletişim kutusunda Visual C++>Code'ı seçin. Orta bölmede C++ Dosyası (.cpp) öğesini seçin. Kaynak dosya için bir ad (örneğin, MathClient.cpp) belirtin ve ekle düğmesini seçin. Boş bir kaynak dosyası görüntülenir.

Uygulamadaki statik kitaplıktaki işlevselliği kullanma

Uygulamadaki statik kitaplıktan işlevselliği kullanmak için

  1. Statik kitaplıktaki matematik yordamlarını kullanabilmeniz için önce buna başvurmanız gerekir. mathclient projesinin kısayol menüsünü Çözüm Gezgini açın ve ardından Başvuru Ekle'yi >seçin.

  2. Başvuru Ekle iletişim kutusunda başvurabileceğiniz kitaplıklar listelenir. Projeler sekmesi geçerli çözümdeki projeleri ve başvurdıkları kitaplıkları listeler. Projeler sekmesini açın, MathLibrary onay kutusunu seçin ve ardından Tamam düğmesini seçin.

  3. Üst bilgi dosyasına başvurmak MathLibrary.h için, eklenen dizinler yolunu değiştirmeniz gerekir. Çözüm Gezgini'da MathClient'a sağ tıklayarak kısayol menüsünü açın. MathClient Özellik Sayfaları iletişim kutusunu açmak için Özellikler'i seçin.

  4. MathClient Özellik Sayfaları iletişim kutusunda Yapılandırma açılan listesini Tüm Yapılandırmalar olarak ayarlayın. Platform açılan listesini Tüm Platformlar olarak ayarlayın.

  5. Yapılandırma Özellikleri>C/C++>Genel özellik sayfasını seçin. Ek Ekleme Dizinleri özelliğinde MathLibrary dizininin yolunu belirtin veya dizine göz atın.

    Dizin yoluna göz atmak için:

    1. Ek Ekleme Dizinleri özellik değeri açılan listesini açın ve düzenle'yi seçin.

    2. Ek Dizinleri Ekle iletişim kutusunda, metin kutusunun üst kısmına çift tıklayın. Ardından satırın sonundaki üç nokta düğmesini (...) seçin.

    3. Dizin Seç iletişim kutusunda bir düzey yukarı gidin ve MathLibrary dizinini seçin. Ardından seçiminizi kaydetmek için Klasör Seç düğmesini seçin.

    4. Ek Dizinleri Ekle iletişim kutusunda Tamam düğmesini seçin.

    5. Projedeki değişikliklerinizi kaydetmek için Özellik Sayfaları iletişim kutusunda Tamam düğmesini seçin.

  6. Artık kodunuzda üst bilgi ekleyerek bu uygulamadaki #include "MathLibrary.h" sınıfını kullanabilirsinizArithmetic. öğesinin içeriğini MathClient.cpp şu kodla değiştirin:

    // MathClient.cpp
    // compile with: cl /EHsc MathClient.cpp /link MathLibrary.lib
    
    #include <iostream>
    #include "MathLibrary.h"
    
    int main()
    {
        double a = 7.4;
        int b = 99;
    
        std::cout << "a + b = " <<
            MathLibrary::Arithmetic::Add(a, b) << std::endl;
        std::cout << "a - b = " <<
            MathLibrary::Arithmetic::Subtract(a, b) << std::endl;
        std::cout << "a * b = " <<
            MathLibrary::Arithmetic::Multiply(a, b) << std::endl;
        std::cout << "a / b = " <<
            MathLibrary::Arithmetic::Divide(a, b) << std::endl;
    
        return 0;
    }
    
  7. Yürütülebilir dosyayı oluşturmak için menü çubuğunda Derleme Çözümü Oluştur'u>seçin.

Uygulamayı çalıştırma

Uygulamayı çalıştırmak için

  1. MathClient'ın varsayılan proje olarak seçildiğinden emin olun. Seçmek için sağ tıklayarak Çözüm Gezgini'da MathClient kısayol menüsünü açın ve başlangıç projesi olarak ayarla'yı seçin.

  2. Projeyi çalıştırmak için menü çubuğunda Hata Ayıklama Hata Ayıklama> Olmadan Başlat'ı seçin. Çıkış şuna benzemelidir:

    a + b = 106.4
    a - b = -91.6
    a * b = 732.6
    a / b = 0.0747475
    

Ayrıca bkz.

İzlenecek yol: Dinamik Bağlantı Kitaplığı Oluşturma ve Kullanma (C++)