Acest articol este un articol oglindă al traducerii automate, vă rugăm să faceți clic aici pentru a sări la articolul original.

Vedere: 12415|Răspunde: 1

[C] C++ Rezumat al metodelor care fac referință la Lib și Dll

[Copiază linkul]
Postat pe 02.07.2019 17:06:54 | | |
1. Ce este o bibliotecă de conexiune statică LIB și ce este o DLL de bibliotecă de legături dinamice?     
Atât bibliotecile de legături statice, cât și cele dinamice împart cod, ambele în format binar



2. Diferența dintre LIB-ul bibliotecii de legături statice și DLL-ul bibliotecii de legături dinamice
Dacă folosești o bibliotecă legată static, toate instrucțiunile din bibliotecă sunt incluse direct în fișierul EXE rezultat. Biblioteca dinamică de legături dinamice nu trebuie neapărat inclusă în fișierul EXE final, care poate fi referențiat "dinamic" și descărcat atunci când fișierul EXE este executat. O altă diferență este că o bibliotecă de legături statice nu mai poate conține alte biblioteci de legături dinamice sau statice, în timp ce o bibliotecă de legături dinamice poate conține alte biblioteci de legături dinamice sau statice.



3. Metoda de apel statică a bibliotecii de legături:
Hai să supraviețuim pentru a genera un fișier de liberare:

VS2017--> Creează un nou proiect-->Windows desktop--> bibliotecă statică, numele proiectului este Libtest



Noile functem.h și functem.cpp

functem.h:

#pragma o dată
#include "stdafx.h"
#ifndef _functem_H
#define _functem_H
int functem(int a, int b);
#endif
functem.cpp:

#include "functem.h"
#include "stdafx.h"

int functem(int a, int b)
{
        returnează a + b;
}
Apoi generează proiectul, iar în directorul Debug vor apărea două fișiere, Libtest.lib și Libtest.pdb.

La apel, sunt necesari trei pași:

1. Copiază Libtest.lib și functem.h în directorul apelantului; așa cum se arată în figura de mai jos:



2. Adăugați #include "functem.h" deasupra fișierului cpp apelant

3. Adaugă #pragma comentariu (lib, "Libtest.lib") deasupra fișierului cpp apelant



Așa cum se vede în figura de mai sus, apelul a avut succes.



4. Metoda de apel a bibliotecii de legături dinamice:
Creează un nou proiect - > o bibliotecă de linkuri dinamice cu numele proiectului Dlltest

Creează un nou Dlltest.h:

#pragma o dată
#ifndef __CDLL_H__
#define __CDLL_H__
extern "C" int _declspec(dllexport) add(int x, int y);
#endif
Dlltest.cpp:

#include "stdafx.h"
#include "Dlltest.h"
int add(int x, int y)
{
        returnează x + y;
}
Generează proiectul, în directorul Debug există:



Procesul de apelare:

1. Copiază Dlltest.dll, Dlltest.lib și Dlltest.h și copieaz-le în directorul apelantului; așa cum se arată în figura de mai jos:



PS: Aici, de fapt, Dlltest.lib este folosit doar la compilarea linkului compilatorului, așa că după generarea programului, nu poți include fișierul lib, ci doar fișierul dll, iar utilizarea reală este de fapt fișierul dll. Pe scurt, toate cele trei fișiere trebuie copiate, dar .h și .lib sunt folosite pentru compilarea legăturilor, iar doar .dll trebuie plasate în directorul generat final.

2. Adaugă #include "Dlltest.h" deasupra fișierului cpp apelat

3. Adaugă #pragma comentariu (lib, "Dlltest.lib") deasupra fișierului cpp apelant



Apelul este un succes!
---------------------
Autor: Bird
Sursa: CSDN
Original: https://blog.csdn.net/wcc27857285/article/details/84615891
Notificare de copyright: Acest articol este un articol original scris de blogger, vă rugăm să atașezați linkul postării de blog pentru reimprimare!





Precedent:1. Construirea celor mai noi materiale didactice
Următor:Scrierea LPSTR a MFC
Postat pe 16.12.2023 13:10:26 |
Prompt:Autorii sunt interziși sau conținutul eliminat este blocat automat
Disclaimer:
Tot software-ul, materialele de programare sau articolele publicate de Code Farmer Network sunt destinate exclusiv scopurilor de învățare și cercetare; Conținutul de mai sus nu va fi folosit în scopuri comerciale sau ilegale, altfel utilizatorii vor suporta toate consecințele. Informațiile de pe acest site provin de pe Internet, iar disputele privind drepturile de autor nu au legătură cu acest site. Trebuie să ștergi complet conținutul de mai sus de pe calculatorul tău în termen de 24 de ore de la descărcare. Dacă îți place programul, te rugăm să susții software-ul autentic, să cumperi înregistrarea și să primești servicii autentice mai bune. Dacă există vreo încălcare, vă rugăm să ne contactați prin e-mail.

Mail To:help@itsvse.com