Przewodnik: tworzenie i używanie biblioteki statycznej

W tym przewodniku krok po kroku pokazano, jak utworzyć bibliotekę statyczną (plik lib) do użycia z aplikacjami języka C++. Użycie biblioteki statycznej to doskonały sposób ponownego użycia kodu. Zamiast ponownieplementować te same procedury w każdej aplikacji, która wymaga funkcjonalności, należy napisać je jeden raz w bibliotece statycznej, a następnie odwołać się do nich z aplikacji. Kod połączony z biblioteki statycznej staje się częścią aplikacji i nie trzeba instalować innego pliku w celu — użycia kodu.

Ten przewodnik obejmuje następujące zadania:

Wymagania wstępne

Znajomość podstaw języka C++.

Tworzenie projektu biblioteki statycznej

Instrukcje dotyczące sposobu tworzenia projektu różnią się w zależności od wersji Visual Studio. Aby wyświetlić dokumentację preferowanej wersji programu Visual Studio, użyj kontrolki Selektor wersji. Znajduje się on w górnej części spisu treści na tej stronie.

Aby utworzyć projekt biblioteki statycznej w programie Visual Studio

  1. Na pasku menu wybierz pozycję NowyProject, aby otworzyć okno dialogowe Project nową.

  2. W górnej części okna dialogowego ustaw wartość Język na C++,ustaw platformę na wartość Windows, a Project wartośćBiblioteka.

  3. Z filtrowanych typów projektów wybierz pozycję Kreator Windows pulpitu, anastępnie wybierz pozycję Dalej.

  4. Na stronie Configure your new project (Konfigurowanie nowego projektu) wprowadź MathLibraryw Project nazwa projektu, aby określić nazwę projektu. Wprowadź wartość StaticMath w polu Nazwa rozwiązania. Wybierz przycisk Utwórz, aby otworzyć Windows Pulpit Project okno dialogowe.

  5. W oknie dialogowym Windows Desktop Project w obszarze Typaplikacji wybierz pozycję Biblioteka statyczna (lib).

  6. W obszarze Opcje dodatkoweusuń zaznaczenie pola wyboru Prekompilowany nagłówek, jeśli jest zaznaczone. Zaznacz pole Pusty projekt.

  7. Wybierz przycisk OK, aby utworzyć projekt.

Aby utworzyć projekt biblioteki statycznej w programie Visual Studio 2017

  1. Na pasku menu wybierz pozycję Nowyplik Project.

  2. W oknie Project dialogowym Nowa wersja wybierz pozycjęZainstalowane Visual C++Windows Desktop. W środkowym okienku wybierz pozycję Kreator Windows pulpitu.

  3. W polu Nazwa podaj nazwę projektu, na przykład ———— W polu Nazwa rozwiązania podaj nazwę rozwiązania, na przykład ———— Wybierz przycisk OK.

  4. W oknie dialogowym Windows Desktop Project w obszarze Typaplikacji wybierz pozycję Biblioteka statyczna (lib).

  5. W obszarze Opcje dodatkoweusuń zaznaczenie pola wyboru Prekompilowany nagłówek, jeśli jest zaznaczone. Zaznacz pole Pusty projekt.

  6. Wybierz przycisk OK, aby utworzyć projekt.

Aby utworzyć projekt biblioteki statycznej w programie Visual Studio 2015

  1. Na pasku menu wybierz pozycję Nowyplik Project.

  2. W oknie dialogowym Nowy Project wybierz pozycję Zainstalowaneszablony Visual C++ Win32. W środkowym okienku wybierz pozycję Aplikacja konsolowa Win32.

  3. W polu Nazwa podaj nazwę projektu, na przykład ———— W polu Nazwa rozwiązania podaj nazwę rozwiązania, na przykład ———— Wybierz przycisk OK.

  4. W Kreatorze aplikacji Win32wybierz pozycję Dalej.

  5. Na stronie Application Ustawienia w obszarze Typ aplikacjiwybierz pozycję Biblioteka statyczna. W obszarze Opcje dodatkoweusuń zaznaczenie pola wyboru Prekompilowany nagłówek. Wybierz pozycję Zakończ, aby utworzyć projekt.

Dodawanie klasy do biblioteki statycznej

Aby dodać klasę do biblioteki statycznej

  1. Aby utworzyć plik nagłówkowy dla nowej klasy, kliknij prawym przyciskiem myszy, aby otworzyć menu skrótów dla projektu MathLibrary w programie Eksplorator rozwiązań, a następnie wybierz polecenie Dodaj nowy element.

  2. W oknie dialogowym Dodawanie nowego elementu wybierz pozycję Visual C++Kod. W środkowym okienku wybierz pozycję Plik nagłówkowy (h). Określ nazwę pliku nagłówkowego, — na przykład —a — następnie wybierz — Dodaj. Zostanie wyświetlony niemal pusty plik nagłówkowy.

  3. Dodaj deklarację dla klasy o nazwie , aby wykonać typowe operacje matematyczne, takie jak Arithmetic dodawanie, odejmowanie, mnożenie i dzielenie. Kod powinien wyglądać następująco:

    // 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. Aby utworzyć plik źródłowy dla nowej klasy, otwórz menu skrótów dla projektu MathLibrary w programie Eksplorator rozwiązań, a następnie wybierz pozycję Dodaj nowy element.

  5. W oknie dialogowym Dodawanie nowego elementu w środkowym okienku wybierz pozycję Plik C++ (cpp). Określ nazwę pliku źródłowego, na przykład ——a — następnie wybierz — Dodaj. Zostanie wyświetlony pusty plik źródłowy.

  6. Użyj tego pliku źródłowego, aby zaimplementować funkcje klasy Arithmetic . Kod powinien wyglądać następująco:

    // 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. Aby skompilować bibliotekę statyczną, wybierz pozycję Build Build Solution (Skompilowanierozwiązania do kompilacji) na pasku menu. Kompilacja tworzy bibliotekę statyczną MathLibrary.lib,która może być używana przez inne programy.

    Uwaga

    Podczas kompilowania na Visual Studio wiersza polecenia należy skompilować program w dwóch krokach. Najpierw uruchom plik , aby skompilować kod i utworzyć plik obiektu o cl /c /EHsc MathLibrary.cpp nazwie cl /c /EHsc MathLibrary.cpp (Polecenie wywołuje kompilator, polecenie Cl.exe, a opcja cl/c określa kompilację bez łączenia. Aby uzyskać więcej informacji, zobacz /c (Kompiluj bez łączenia). Następnie uruchom plik , aby połączyć kod i utworzyć bibliotekę statyczną lib MathLibrary.objlib MathLibrary.obj (Polecenie lib wywołuje Menedżera biblioteki, Lib.exe. Aby uzyskać więcej informacji, zobacz LIB Reference .)

Tworzenie aplikacji konsolowej języka C++, która odwołuje się do biblioteki statycznej

Aby utworzyć aplikację konsolową języka C++, która odwołuje się do biblioteki statycznej w programie Visual Studio

  1. W Eksplorator rozwiązań kliknij prawym przyciskiem myszy górny węzeł, rozwiązanie "StaticMath",aby otworzyć menu skrótów. Wybierz pozycjęDodaj Project, aby otworzyć okno dialogowe Dodawanie nowego Project nową.

  2. W górnej części okna dialogowego ustaw filtr typu Project konsoli .

  3. Z filtrowanych typów projektów wybierz pozycję Aplikacja konsolowa, a następnie wybierz pozycję Dalej. Na następnej stronie wprowadź MathClient w polu Nazwa, aby określić nazwę projektu.

  4. Wybierz przycisk Utwórz, aby utworzyć projekt klienta.

  5. Po utworzeniu aplikacji konsolowej zostanie utworzony pusty program. Nazwa pliku źródłowego jest taka sama jak nazwa wybrana wcześniej. W tym przykładzie ma ona nazwę MathClient.cpp .

Aby utworzyć aplikację konsolową języka C++, która odwołuje się do biblioteki statycznej w programie Visual Studio 2017

  1. W Eksplorator rozwiązań kliknij prawym przyciskiem myszy górny węzeł, rozwiązanie "StaticMath",aby otworzyć menu skrótów. Wybierz pozycjęDodaj Project, aby otworzyć okno dialogowe Dodawanie Project nową.

  2. W oknie dialogowym Dodawanie Project wybierz pozycję ZainstalowaneVisual C++ Windows Desktop. W środkowym okienku wybierz pozycję Kreator Windows pulpitu.

  3. W polu Nazwa podaj nazwę projektu, na przykład ———— Wybierz przycisk OK.

  4. W oknie dialogowym Windows Desktop Project w obszarze Typaplikacji wybierz pozycję Aplikacja konsolowa (.exe).

  5. W obszarze Opcje dodatkoweusuń zaznaczenie pola wyboru Prekompilowany nagłówek, jeśli jest zaznaczone.

  6. Wybierz przycisk OK, aby utworzyć projekt.

  7. Po utworzeniu aplikacji konsolowej zostanie utworzony pusty program. Nazwa pliku źródłowego jest taka sama jak nazwa wybrana wcześniej. W tym przykładzie ma ona nazwę MathClient.cpp .

Aby utworzyć aplikację konsolową języka C++, która odwołuje się do biblioteki statycznej w programie Visual Studio 2015

  1. W Eksplorator rozwiązań kliknij prawym przyciskiem myszy górny węzeł, rozwiązanie "StaticMath",aby otworzyć menu skrótów. Wybierz pozycjęDodaj Project, aby otworzyć okno dialogowe Dodawanie Project nową.

  2. W oknie dialogowym Dodawanie Project wybierz pozycję ZainstalowaneVisual C++Win32. W środkowym okienku wybierz pozycję Aplikacja konsolowa Win32.

  3. W polu Nazwa podaj nazwę projektu, na przykład ———— Wybierz przycisk OK.

  4. W oknie dialogowym Kreator aplikacji Win32 wybierz pozycję Dalej.

  5. Na stronie Application Ustawienia w obszarze Typ aplikacjiupewnij się, że wybrano opcję Aplikacja konsolowa. W obszarze Opcje dodatkoweusuń zaznaczenie pola wyboru Prekompilowanynagłówek , a następnie zaznacz Project pole wyboru. Wybierz pozycję Zakończ, aby utworzyć projekt.

  6. Aby dodać plik źródłowy do pustego projektu, kliknij prawym przyciskiem myszy, aby otworzyć menu skrótów dla projektu MathClient w programie Eksplorator rozwiązań , anastępnie wybierz polecenie Dodaj nowy element.

  7. W oknie dialogowym Dodawanie nowego elementu wybierz pozycję Visual C++Kod. W środkowym okienku wybierz pozycję Plik C++ (cpp). Określ nazwę pliku źródłowego, na przykład ——a — następnie wybierz — Dodaj. Zostanie wyświetlony pusty plik źródłowy.

Korzystanie z funkcji biblioteki statycznej w aplikacji

Aby użyć funkcji z biblioteki statycznej w aplikacji

  1. Przed użyciem procedur matematycznych w bibliotece statycznej należy się do niego odwoływać. Otwórz menu skrótów dla projektu MathClient w programie Eksplorator rozwiązań, a następnie wybierz pozycję Dodajodwołanie.

  2. Okno dialogowe Dodawanie odwołania zawiera listę bibliotek, do których można się odwoływać. Karta Projekty zawiera listę projektów w bieżącym rozwiązaniu i wszystkie biblioteki, do których się odwołują. Otwórz kartę Projekty, zaznacz pole wyboru MathLibrary, a następnie wybierz przycisk OK.

  3. Aby odwołać MathLibrary.h się do pliku nagłówkowego, należy zmodyfikować uwzględnioną ścieżkę katalogów. W Eksplorator rozwiązańkliknij prawym przyciskiem myszy pozycję MathClient, aby otworzyć menu skrótów. Wybierz pozycję Właściwości, aby otworzyć okno dialogowe Strony właściwości MathClient.

  4. W oknie dialogowym Strony właściwości MathClient z listy rozwijanej Konfiguracja ustaw wartość Wszystkie konfiguracje. Z listy rozwijanej Platforma ustaw wartość Wszystkie platformy.

  5. Wybierz stronę Właściwości konfiguracjiC/C++Właściwości ogólne. We właściwości Dodatkowe katalogi dołączania określ ścieżkę katalogu MathLibrary lub wyszukaj go.

    Aby wyszukać ścieżkę katalogu:

    1. Otwórz listę rozwijaną Wartości właściwości Dodatkowe katalogi dołączania, a następnie wybierz pozycję Edytuj.

    2. W oknie dialogowym Dodatkowe katalogi dołączania kliknij dwukrotnie w górnej części pola tekstowego. Następnie wybierz przycisk wielokropka (...) na końcu wiersza.

    3. W oknie dialogowym Wybieranie katalogu przejdź w górę poziomu, a następnie wybierz katalog MathLibrary. Następnie wybierz przycisk Wybierz folder, aby zapisać wybór.

    4. W oknie dialogowym Dodatkowe katalogi dołączania wybierz przycisk OK.

    5. W oknie dialogowym Strony właściwości wybierz przycisk OK, aby zapisać zmiany w projekcie.

  6. Teraz możesz użyć klasy Arithmetic w tej aplikacji, uwzględniając #include "MathLibrary.h" nagłówek w kodzie. Zastąp zawartość pliku MathClient.cpp tym kodem:

    // 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. Aby skompilować plik wykonywalny, wybierz pozycję BuildBuild Solution (Skompilowanie rozwiązania kompilacji) na pasku menu.

Uruchamianie aplikacji

Aby uruchomić aplikację

  1. Upewnij się, że jako projekt domyślny wybrano element MathClient. Aby ją zaznaczyć, kliknij prawym przyciskiem myszy, aby otworzyć menu skrótów dla elementu MathClient w aplikacji Eksplorator rozwiązań , anastępnie wybierz polecenie Ustaw jako startowy Project.

  2. Aby uruchomić projekt, na pasku menu wybierz pozycję Rozpocznijdebugowanie bez debugowania. Dane wyjściowe powinny wyglądać następująco:

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

Zobacz też

Przewodnik: tworzenie i używanie biblioteki linków dynamicznych (C++)
Aplikacje klasyczne (Visual C++)