Útmutató: Statikus kódtár létrehozása és használata

Ez a részletes útmutató bemutatja, hogyan hozhat létre statikus kódtárat (.lib-fájlt) c++ alkalmazásokhoz. A statikus kódtárak használata nagyszerű módszer a kód újrafelhasználására. Ahelyett, hogy ugyanazokat a rutinokat egyesítenél minden olyan alkalmazásban, amely megköveteli a funkcionalitást, írd meg őket egyszer egy statikus tárban, majd hivatkozz rá az alkalmazásokból. A statikus kódtárból csatolt kód az alkalmazás részévé válik. A kód használatához nem kell másik fájlt telepítenie.

Ez az útmutató a következő feladatokat ismerteti:

Előfeltételek

A C++ nyelv alapjainak ismerete.

Statikus kódtárprojekt létrehozása

A projekt létrehozásának utasításai a Visual Studio verziójától függően változnak. A Visual Studio előnyben részesített verziójának dokumentációját a Verzió választóvezérlő használatával tekintheti meg. A lap tartalomjegyzékének tetején található.

Statikus kódtárprojekt létrehozása Visual Studio:

  1. A menüsávOn válassza azÚj>fájl>Project lehetőséget az Új project létrehozása párbeszédpanel megnyitásához.

  2. A párbeszédpanel tetején állítsa a Nyelv elemet C++-ra, állítsa a PlatformotWindowsra, és állítsa a Projekt típusátkódtárra.

  3. A projekttípusok szűrt listájában válassza Windows Asztal varázslót, majd válassza a Tovább gombot.

  4. Az új projekt konfigurálása lapon írja be a MathLibrary kifejezést a Projekt neve mezőbe, és adja meg a projekt nevét. Írja be a StaticMath kifejezést a Megoldás neve mezőbe. A Létrehozás gombra kattintva nyissa meg a Windows Asztali projekt párbeszédpanelt.

  5. A Windows Asztali projekt párbeszédpanel Alkalmazástípus területén válassza a Statikus tár (.lib) lehetőséget.

  6. Ha be van jelölve, törölje az Előre összeállított fejléc jelölőnégyzet jelölését a További beállítások csoportban. Válassza az Üres projekt lehetőséget.

  7. Válassza az OK gombot a projekt létrehozásához.

Statikus függvénytárprojekt létrehozása a Visual Studio 2017-ben:

  1. A menüsávon válassza a Fájl>Új>Projekt lehetőséget.

  2. Az Új Project párbeszédpanelen válassza a Telepített>Visual C++>Windows Desktop lehetőséget. A középső panelen válassza a Windows Asztal varázslót.

  3. Adja meg a projekt nevét (például MathLibrary) a Név mezőben. Adja meg a megoldás nevét (például StaticMath) a Megoldásnév mezőben. Kattintson az OK gombra.

  4. A Windows Asztali projekt párbeszédpanel Alkalmazástípus területén válassza a Statikus tár (.lib) lehetőséget.

  5. Ha be van jelölve, törölje az Előre összeállított fejléc jelölőnégyzet jelölését a További beállítások csoportban. Válassza az Üres projekt lehetőséget.

  6. Válassza az OK gombot a projekt létrehozásához.

Statikus függvénytárprojekt létrehozásához a Visual Studio 2015-ben:

  1. A menüsávon válassza a Fájl>Új>Projekt lehetőséget.

  2. Az Új Project párbeszédpanelen válassza a Telepített>sablonok>Visual C++>Win32 lehetőséget. A középső panelen válassza a Win32 Konzolalkalmazás lehetőséget.

  3. Adja meg a projekt nevét (például MathLibrary) a Név mezőben. Adja meg a megoldás nevét (például StaticMath) a Megoldásnév mezőben. Kattintson az OK gombra.

  4. A Win32 alkalmazásvarázslóban válassza a Tovább gombot.

  5. Az Alkalmazásbeállítások lap Alkalmazástípus területén válassza a Statikus tár lehetőséget. A További beállítások csoportban törölje az Előre összeállított fejléc jelölőnégyzet jelölését . A projekt létrehozásához válassza a Befejezés lehetőséget.

Osztály hozzáadása a statikus tárhoz

Osztály hozzáadása a statikus kódtárhoz:

  1. Hozzon létre egy fejlécfájlt egy új osztályhoz. A Megoldáskezelő kattintson a jobb gombbal a MathLibrary elemre a projekt helyi menüjének megnyitásához. Válassza azÚj elem> lehetőséget.

  2. Az Új elem hozzáadása párbeszédpanelen válassza a Visual C++>Code elemet. A középső panelen válassza a Fejlécfájl (.h) lehetőséget. Adja meg a fejlécfájl nevét (például MathLibrary.h), majd válassza a Hozzáadás lehetőséget. Megjelenik egy majdnem üres fejlécfájl.

  3. Adjon hozzá egy deklarációt egy olyan osztályhoz, amely Arithmetic olyan általános matematikai műveleteket hajt végre, mint az összeadás, kivonás, szorzás és osztás. A kódnak a következőhöz kell hasonlítania:

    // 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. Ha forrásfájlt szeretne létrehozni az új osztályhoz, nyissa meg a MathLibrary projekt helyi menüjét a Megoldáskezelő, majd válassza azÚj elemhozzáadása> lehetőséget.

  5. Az Új elem hozzáadása párbeszédpanel középső panelén válassza a C++ Fájl (.cpp) lehetőséget. Adja meg a forrásfájl nevét, például MathLibrary.cpp. Ezután válassza a Hozzáadás lehetőséget. Megjelenik egy üres forrásfájl.

  6. Ezzel a forrásfájllal implementálhatja az osztály Arithmeticfunkcióit. A kódnak a következőhöz kell hasonlítania:

    // 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. A statikus könyvtár létrehozásához válassza a menüsávon a Build>Build megoldás parancsot. A build létrehoz egy statikus könyvtárat, a MathLibrary.lib-ot, amelyet más programok is használhatnak.

    Megjegyzés:

    Amikor a Visual Studio parancssorára épít, két lépésben kell összeállítania a programot.

    1. A kód lefordításához és a MathLibrary.obj nevű objektumfájl létrehozásához futtassa a cl /c /EHsc MathLibrary.cpp parancsot. A cl parancs meghívja a fordítót, a Cl.exe-t, a /c kapcsoló pedig a szerkesztés nélküli fordítást adja meg. További információ: /c (Fordítás csatolás nélkül).
    2. Futtassa lib MathLibrary.obj a kód csatolásához és a MathLibrary.lib statikus könyvtár létrehozásához. A lib parancs meghívja a Könyvtárkezelőt, Lib.exe. További információ: LIB-referencia.

A statikus kódtárra hivatkozó C++ konzolalkalmazás létrehozása

Olyan C++ konzolalkalmazás létrehozása, amely a Visual Studio statikus kódtárára hivatkozik:

  1. A helyi menü megnyitásához Megoldáskezelő kattintson a jobb gombbal a felső csomópontra, a StaticMath megoldásra. AzÚj projekt>párbeszédpanel megnyitásához válassza az Új projekt hozzáadása lehetőséget.

  2. A párbeszédpanel tetején állítsa a Projekttípus szűrőt konzolra.

  3. A projekttípusok szűrt listájában válassza a Konzolalkalmazás lehetőséget, majd a Tovább gombot. A következő lapon adja meg a MathClient nevet a projektnek.

  4. Válassza a Létrehozás lehetőséget az ügyfélprojekt létrehozásához.

    Miután létrehoz egy konzolalkalmazást, egy üres program jön létre az ön számára. A forrásfájl neve megegyezik a korábban választott névvel. A példában a neve MathClient.cpp.

Olyan C++ konzolalkalmazás létrehozása, amely a 2017-Visual Studio statikus kódtárra hivatkozik:

  1. A helyi menü megnyitásához Megoldáskezelő kattintson a jobb gombbal a felső csomópontra, a StaticMath megoldásra. AzÚj projekt>párbeszédpanel megnyitásához válassza az Új projekt hozzáadása lehetőséget.

  2. Az Új Project hozzáadása párbeszédpanelen válassza a Telepített>Visual C++>Windows Asztal lehetőséget. A középső panelen válassza a Windows Asztal varázslót.

  3. Adja meg a projekt nevét – például a MathClientet – a Név mezőben. Válassza az OK gombot.

  4. A Windows Asztali projekt párbeszédpanel Alkalmazás típusa területén válassza a Konzolalkalmazás (.exe) lehetőséget.

  5. Ha be van jelölve, törölje az Előre összeállított fejléc jelölőnégyzet jelölését a További beállítások csoportban.

  6. Válassza az OK gombot a projekt létrehozásához.

  7. Miután létrehoz egy konzolalkalmazást, egy üres program jön létre az ön számára. A forrásfájl neve megegyezik a korábban választott névvel. A példában a neve MathClient.cpp.

Olyan C++ konzolalkalmazás létrehozása, amely a 2015-ös Visual Studio statikus kódtárra hivatkozik:

  1. A helyi menü megnyitásához Megoldáskezelő kattintson a jobb gombbal a felső csomópontra, a StaticMath megoldásra. AzÚj projekt>párbeszédpanel megnyitásához válassza az Új projekt hozzáadása lehetőséget.

  2. Az Új Project hozzáadása párbeszédpanelen válassza a Telepített>Vizualizáció C++>Win32 lehetőséget. A középső panelen válassza a Win32 Konzolalkalmazás lehetőséget.

  3. Adja meg a projekt nevét – például a MathClientet – a Név mezőben. Válassza az OK gombot.

  4. A Win32 alkalmazásvarázsló párbeszédpanelen válassza a Tovább gombot.

  5. Az Alkalmazásbeállítások lap Alkalmazástípus területén győződjön meg arról, hogy a konzolalkalmazás ki van jelölve. A További beállítások területen törölje az Előre összeállított fejléc jelölését, majd válassza az Üres Project lehetőséget. A projekt létrehozásához válassza a Befejezés lehetőséget.

  6. Ha forrásfájlt szeretne hozzáadni az üres projekthez, kattintson a jobb gombbal a MathClient-projekt helyi menüjének megnyitásához Megoldáskezelő, majd válassza az Új elem hozzáadása>parancsot.

  7. Az Új elem hozzáadása párbeszédpanelen válassza a Visual C++>Code elemet. A középső panelen válassza a C++ fájl (.cpp) lehetőséget. Adja meg a forrásfájl nevét (például MathClient.cpp), majd válassza a Hozzáadás gombot. Megjelenik egy üres forrásfájl.

Az alkalmazás statikus könyvtárának funkcióinak használata

A statikus kódtár funkcióinak használata az alkalmazásban:

  1. A matematikai rutinok használata előtt hivatkozzon a statikus kódtárra. Nyissa meg a MathClient-projekt helyi menüjét a Megoldáskezelő, majd válassza aHivatkozáshozzáadása lehetőséget>.

  2. A Hivatkozás hozzáadása párbeszédpanel felsorolja azokat a kódtárakat, amelyekre hivatkozhat. A Projektek lap az aktuális megoldás projektjeit és az általuk hivatkozott kódtárakat sorolja fel. Nyissa meg a Projektek lapot, válassza a MathLibrary, majd az OK gombot.

  3. Módosítsa a belefoglalt könyvtárak elérési útját a MathLibrary.h fejlécfájlra való hivatkozáshoz. A Megoldáskezelő ablakban kattintson a jobb gombbal a MathClient elemre a helyi menü megnyitásához. A Tulajdonságok elemet választva nyissa meg a MathClient Tulajdonságlapok párbeszédpanelt .

  4. A MathClient Tulajdonságlapok párbeszédpanelen állítsa be a Konfiguráció értékét minden konfigurációra. Állítsa a platformotminden platformra.

  5. Válassza a Configuration Properties>C/C++>General tulajdonságlapot. A További belefoglalási könyvtárak tulajdonságban adja meg a MathLibrary könyvtár elérési útját, vagy keresse meg.

    A címtár elérési útjának megkeresése:

    1. Nyissa meg a További belefoglalás könyvtárak tulajdonság értékét tartalmazó legördülő listát, majd válassza a Szerkesztés lehetőséget.

    2. A(z) További belefoglalási könyvtárak párbeszédpanelen kattintson duplán a szövegmező felső részébe. Ezután válassza a három pontot (...) a sor végén.

    3. A Könyvtár kiválasztása párbeszédpanelen lépjen fel egy szintre, majd válassza ki a MathLibrary könyvtárat. Ezután válassza a Mappa kijelölése gombot a kijelölés mentéséhez.

    4. A További belefoglalási könyvtárak párbeszédpanelen kattintson az OK gombra.

    5. A Tulajdonságlapok párbeszédpanelen kattintson az OK gombra a projekt módosításainak mentéséhez.

  6. Most már használhatja a Arithmetic osztályt ebben az alkalmazásban a #include "MathLibrary.h" fejléc kódba való beillesztésével. Cserélje le a MathClient.cpp tartalmát ezzel a kóddal:

    // 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. A végrehajtható fájl létrehozásához válassza a Felépítés>Megoldás felépítése lehetőséget a menüsávon.

Az alkalmazás futtatása

Az alkalmazás futtatása:

  1. Győződjön meg arról, hogy a MathClient van kiválasztva alapértelmezett projektként. A kiválasztásához kattintson a jobb gombbal a Megoldáskezelő ablakban a MathClient elemre a helyi menü megnyitásához, majd válassza a Beállítás indítási projektként lehetőséget.

  2. A menüsávon válassza a Hibakeresés>Indítás hibakeresés nélkül lehetőséget a projekt futtatásához. A kimenetnek a következőhöz kell hasonlítania:

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

Lásd még

Útmutató: Dinamikus csatolású kódtár létrehozása és használata (C++)