Yuav Ua Li Cas Tsim DLL Cov Ntaub Ntawv: 10 Kauj Ruam (nrog Duab)

Cov txheej txheem:

Yuav Ua Li Cas Tsim DLL Cov Ntaub Ntawv: 10 Kauj Ruam (nrog Duab)
Yuav Ua Li Cas Tsim DLL Cov Ntaub Ntawv: 10 Kauj Ruam (nrog Duab)

Video: Yuav Ua Li Cas Tsim DLL Cov Ntaub Ntawv: 10 Kauj Ruam (nrog Duab)

Video: Yuav Ua Li Cas Tsim DLL Cov Ntaub Ntawv: 10 Kauj Ruam (nrog Duab)
Video: qhia kho tiktok kom neeg pom thb saib coob2 2024, Plaub Hlis Ntuj
Anonim

DLL cov ntaub ntawv yog cov ntaub ntawv txuas nrog lub tsev qiv ntawv txuas nrog sau thiab tswj nrog C ++. DLLs sib koom, khaws cia, thiab txuag koj cov cai yooj yim. Cov wikiHow no yuav qhia koj li cas los tsim cov ntaub ntawv DLL nrog Visual Studio, Windows application, lossis Visual Studio for Mac. Nco ntsoov tias koj muaj "Desktop Development with C ++" kos thaum koj teeb tsa. Yog tias koj twb muaj Visual Studio tab sis tsis tau khij lub npov ntawd, koj tuaj yeem khiav lub installer dua kom paub tseeb tias koj ua.

Cov kauj ruam

11227960 1
11227960 1

Kauj Ruam 1. Qhib Visual Studio

Koj tuaj yeem pom qhov no hauv koj li Start Menu lossis Applications folder. Txij li DLL yog lub tsev qiv ntawv cov ntaub ntawv, nws tsuas yog ib qho ntawm qhov haujlwm, thiab feem ntau yuav tsum muaj daim ntawv thov nkag nrog nkag mus rau nws.

  • Koj tuaj yeem tau txais Visual Studio rau Windows ntawm no:
  • Visual Studio rau Mac tuaj yeem rub tawm ntawm no:
  • Cov wikiHow no yuav siv tus lej muab los ntawm Microsoft los piav qhia yuav tsim DLL cov ntaub ntawv li cas.
11227960 2
11227960 2

Kauj Ruam 2. Nyem Cov Ntaub Ntawv

Koj yuav pom qhov no nyob ntawm qhov chaw ua haujlwm (Windows) lossis nyob saum koj lub vijtsam (Macs).

11227960 3
11227960 3

Kauj Ruam 3. Nyem Tshiab thiab Qhov project.

Lub thawv "Tsim Txoj Haujlwm Tshiab" yuav tshwm sim.

11227960 4
11227960 4

Kauj Ruam 4. Teev cov kev xaiv rau Hom Lus, Platform, thiab Hom Haujlwm

Cov no yuav lim cov hom phiaj ntawm qhov haujlwm zoo li cas.

Nyem Lus kom tau txais cov ntawv qhia zaub mov nco thiab nyem C ++.

11227960 5
11227960 5

Kauj Ruam 5. Nyem Platform kom tau txais cov ntawv qhia zaub mov nco thiab nyem Qhov rai.

11227960 6
11227960 6

Kauj Ruam 6. Nyem Project Hom kom tau txais cov ntawv qhia zaub mov nco thiab nyem Tsev qiv ntawv.

11227960 7
11227960 7

Kauj Ruam 7. Nyem Dynamic-link Library (DLL)

Koj qhov kev xaiv yuav hais txog xiav. Nyem Tom ntej no mus ntxiv

11227960 8
11227960 8

Kauj Ruam 8. Ntaus lub npe hauv Lub Npe Lub Npe rau txoj haujlwm

Piv txwv li, ntaus “MathLibrary” hauv lub npov rau lub npe piv txwv.

11227960 9
11227960 9

Kauj ruam 9. Nyem Tsim

DLL qhov project tau tsim.

11227960 10
11227960 10

Kauj Ruam 10. Ntxiv cov ntawv header rau DLL

Koj tuaj yeem ua qhov no los ntawm txhaj "Ntxiv Yam Khoom Tshiab" los ntawm "Project" hauv cov ntawv qhia zaub mov.

  • Xaiv Pom C ++ los ntawm cov ntawv qhia zaub mov sab laug ntawm lub dialog box.
  • Xaiv Cov ntaub ntawv header (.h) los ntawm qhov chaw nruab nrab ntawm lub thawv sib tham.
  • Ntaus lub npe ua "MathLibrary.h" hauv lub npe hauv qab cov ntawv xaiv.
  • Nyem Ntxiv los tsim cov ntaub ntawv header dawb.
11227960 11
11227960 11

Kauj Ruam 11. Ntaus cov cai hauv qab no rau hauv cov ntaub ntawv header dawb

    // MathLibrary.h - Muaj cov lus tshaj tawm ntawm kev ua lej #pragma ib zaug #ifdef MATHLIBRARY_EXPORTS #define MATHLIBRARY_API _declspec (dllexport) #else #define MATHLIBRARY_API _declspec (dllimport) #piav qhia qhov twg n) yog {n = 0, a // {n = 1, b // {n> 1, F (n-2) + F (n-1) // rau qee qhov pib qhov tseem ceeb a thiab b. // Yog hais tias cov ntu tau pib F (0) = 1, F (1) = 1, // ces qhov kev sib raug zoo no ua rau muaj kev paub Fibonacci // ntu: 1, 1, 2, 3, 5, 8, 13, 21, 34,… // Pib Fibonacci sib txheeb ua ntu zus // xws li F (0) = a, F (1) = b. // Txoj haujlwm no yuav tsum raug hu ua ntej lwm qhov haujlwm. extern "C" MATHLIBRARY_API tsis muaj dab tsi fibonacci_init (const unsigned ntev ntev a, const unsigned ntev ntev b); // Ua tus nqi tom ntej hauv ntu. // Rov qab muaj tseeb ntawm kev ua tiav thiab hloov kho tus nqi tam sim no thiab ntsuas; // cuav ntawm kev hla, tawm tus nqi tam sim no thiab ntsuas tsis hloov pauv. extern "C" MATHLIBRARY_API bool fibonacci_next (); // Tau txais tus nqi tam sim no hauv ntu. extern "C" MATHLIBRARY_API unsigned ntev ntev fibonacci_current (); // Tau txais txoj haujlwm ntawm tus nqi tam sim no hauv ntu. extern "C" MATHLIBRARY_API unsigned fibonacci_index ();

  • Nov yog cov qauv piv txwv muab los ntawm Microsoft lub vev xaib pab.
11227960 12
11227960 12

Kauj Ruam 12. Ntxiv CPP cov ntaub ntawv rau DLL

Koj tuaj yeem ua qhov no los ntawm nyem Ntxiv Cov Khoom Tshiab los ntawm "Project" hauv cov ntawv qhia zaub mov.

  • Xaiv "Visual C ++" los ntawm cov ntawv qhia zaub mov sab laug ntawm lub npov lus.
  • Xaiv "C ++ Cov Ntaub Ntawv (.cpp)" los ntawm nruab nrab ntawm lub npov lus sib tham.
  • Ntaus lub npe ua "MathLibrary.cpp" hauv lub npe teb hauv qab cov ntawv xaiv.
  • Nyem Ntxiv los tsim cov ntawv khoob.
11227960 13
11227960 13

Kauj Ruam 13. Ntaus cov cai hauv qab no rau hauv daim ntawv uas tsis muaj dab tsi

    // MathLibrary.cpp: Txhais cov haujlwm xa tawm rau DLL. #include "stdafx.h" // siv pch.h hauv Visual Studio 2019 #include #include #include "MathLibrary.h" // DLL sab hauv lub xeev hloov pauv: zoo li tsis tau kos npe ntev ntev dhau los_; // Tus nqi yav dhau los, yog tias muaj qhov tsis zoo li qub tsis tau kos npe ntev ntev tam sim no_; // Tam sim no ntu ntu tus nqi zoo li qub unsigned index_; // Tam sim no seq txoj hauj lwm // Pib ua Fibonacci sib txheeb sib xws // xws li F (0) = a, F (1) = b. // Txoj haujlwm no yuav tsum raug hu ua ntej lwm qhov haujlwm. tsis muaj dab tsi fibonacci_init (const unsigned ntev ntev a, const unsigned ntev ntev b) {index_ = 0; current_ = ua; ua ntej_ = b; // saib cov ntaub ntawv tshwj xeeb thaum pib ua haujlwm} // Ua tus nqi tom ntej hauv ntu // Rov qab muaj tseeb ntawm kev ua tiav, cuav ntawm kev txeej. bool fibonacci_next () {// xyuas seb peb puas yuav dhau los lossis txoj haujlwm yog ((ULLONG_MAX - yav dhau los <<tam sim no)) || (UINT_MAX == index_)) {rov tsis tseeb; } // Cov ntaub ntawv tshwj xeeb thaum ntsuas == 0, tsuas yog xa rov qab b tus nqi yog (index_> 0) {// txwv tsis pub, suav cov lej sib law liag tom ntej ua ntej + += tam sim no; } std:: swap (tam sim no, yav dhau los_); ++ index_; rov muaj tseeb; } // Tau txais tus nqi tam sim no hauv ntu. unsigned ntev ntev fibonacci_current () {xa tam sim no_; } // Tau txais txoj haujlwm ntsuas tam sim no hauv ntu. unsigned fibonacci_index () {rov qab index_; }

  • Nov yog cov qauv piv txwv muab los ntawm Microsoft lub vev xaib pab.
11227960 14
11227960 14

Kauj Ruam 14. Nyem Tsim hauv cov ntawv qhia zaub mov

Koj yuav pom qhov no los ntawm qhov chaw ua haujlwm (Windows) lossis nyob saum koj lub vijtsam (Macs).

11227960 15
11227960 15

Kauj Ruam 15. Nyem Tsim Kho

Tom qab koj nyem qhov ntawd, koj yuav tsum pom cov ntawv zoo ib yam li qhov no:

    1> ------ Tsim pib: Project: MathLibrary, Kev teeb tsa: Debug Win32 ------ 1> MathLibrary.cpp 1> dllmain.cpp 1> Tsim Code… 1> Tsim tsev qiv ntawv C: / Cov neeg siv npe / Source / Repos / MathLibrary / Debug / MathLibrary.lib thiab object C: / Users / username / Source / Repos / MathLibrary / Debug / MathLibrary.exp 1> MathLibrary.vcxproj -> C: / Users / username / Source / Repos / MathLibrary / Debug / MathLibrary.dll 1> MathLibrary.vcxproj -> C: / Users / username / Source / Repos / MathLibrary / Debug / MathLibrary.pdb (Partial PDB) ========== Tsim: 1 ua tiav, 0 ua tsis tiav, 0 hloov tshiab, 0 hla ==========

  • Yog tias koj qhov kev tsim DLL tau ua tiav, koj yuav pom qhov ntawd ntawm no. Yog tias muaj qhov ua yuam kev, nws yuav muab teev rau ntawm no rau koj los kho.

Pom zoo: