Second Opinion
Folosind serviciul second opinion ne puteți trimite RMN-uri, CT -uri, angiografii, fișiere .pdf, documente medicale. Astfel vă vom putea da o opinie neurochirurgicală, fără ca aceasta să poată înlocui un consult de specialitate. Răspunsurile vor fi date prin e-mail în cel mai scurt timp posibil (de obicei în mai putin de 24 de ore, dar nu mai mult de 48 de ore). Second opinion – Neurohope este un serviciu gratuit. www.neurohope.ro |
Lib vs static lib vs dll
Last Updated: Feb 26 2018 17:36, Started by
worm94
, Feb 22 2018 22:34
·
0
#1
Posted 22 February 2018 - 22:34
Salut,
Am câteva întrebări referitoare la titlul de mai sus. Din ce înțeleg eu și din ce am citit sunt 3 tipuri de librării.
Mulțumesc. |
#2
Posted 22 February 2018 - 22:52
E bine.
Practic ai doua tipuri: static ori dinamic. Lib-ul ala ajutator pt. .dll e doar sa te scuteasca de scris un pic de cod. Edited by neagu_laurentiu, 22 February 2018 - 22:56. |
#4
Posted 23 February 2018 - 07:59
Prima categorie : pentru fiecare modul - fisier C/C++ compilatorul genereaza fisiere object, pe care ulterior linkerul le contopeste intr-un fiser unic exe sau dll
A doua categorie - lib statice - CONTIN COD care va fi copiat in noul exe, marind dimensiunea acestuia si necesitand un rebuild in caz de upgrade LoadLibrary si GetProcAddress se aplica la DLL-uri nu la lib statice Toate exe si dll au un header ce contine address table pentru ca loader-ul sistemului de operare sa le poata mapa in memorie in functie de adresa de baza (base address) |
#5
Posted 23 February 2018 - 10:28
Mersi pentru răspuns.
PS: Nu am zis că lib-urile au nevoie de GetProcAddress sau LoadLibrary, am zis că nu este neapărat nevoie de lib-uri (vorbim de cele care nu sunt statice) la încărcarea unui dll. Adresele oferite de lib-ul respectiv pot fi înlocuite interogând direct dll-ul prin GetProcAddress si LoadLibrary. |
#6
Posted 23 February 2018 - 14:20
Chestiunea e ca in practica o sa cam folosesti LoadLibrary/GetProcAddress pentru ca poti avea .dll-uri de la diferite compilatoare C/C++ (si fiecare genereaza "in nebunia lui") sau alte limbaje (si iar nimic nu se mai lipeste). Asa ca lucrul manual e sfant!
http://bcbjournal.or...th_CBuilder.htm |
#7
Posted 23 February 2018 - 14:23
neagu_laurentiu, on 23 februarie 2018 - 14:20, said:
Chestiunea e ca in practica o sa cam folosesti LoadLibrary/GetProcAddress pentru ca poti avea .dll-uri de la diferite compilatoare C/C++ (si fiecare genereaza "in nebunia lui") sau alte limbaje (si iar nimic nu se mai lipeste). Asa ca lucrul manual e sfant! http://bcbjournal.or...th_CBuilder.htm |
#8
Posted 23 February 2018 - 20:07
C++ nu sta bine la compatibilitate a binarelor. Standardul nu impune detalii in privinta asta, asa ca se pot intalnit foarte usor diferente intre ce genereze un compilator si ce genereaza altul. Diferentele pot aparea chiar intre versiuni diferite ale aceluiasi compilator, sau chiar setari diferite de optimizare, nu mai zic de alte compilatoare unde diferente pot fi considerabile (ex. exceptiile).
Exista insa si solutii:
|
#9
Posted 26 February 2018 - 08:09
dani.user, on 23 februarie 2018 - 20:07, said:
C++ nu sta bine la compatibilitate a binarelor. Standardul nu impune detalii in privinta asta, asa ca se pot intalnit foarte usor diferente intre ce genereze un compilator si ce genereaza altul. Diferentele pot aparea chiar intre versiuni diferite ale aceluiasi compilator, sau chiar setari diferite de optimizare, nu mai zic de alte compilatoare unde diferente pot fi considerabile (ex. exceptiile). Exista insa si solutii:
Da, mersi. Referitor la COM, știu că a făcut cineva un proiecțel (tu sau laurențiu parca) pe undeva pe forum da nu reușesc să dau de el. Știi cunva pe unde e, și-mi poți lăsa un link? |
#10
Posted 26 February 2018 - 17:36
https://forum.softpe...-c-pur-windows/ mai didactic, intentionat in C fara ++
|
|
Anunturi
▶ 0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users