Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Sta je to DLL i cemu koristi?

[es] :: C/C++ programiranje :: Sta je to DLL i cemu koristi?

[ Pregleda: 13649 | Odgovora: 10 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

:o)

Član broj: 38609
Poruke: 201
82.208.201.*



+2 Profil

icon Sta je to DLL i cemu koristi?16.01.2005. u 23:54 - pre 234 meseci
Pocinjem ozbiljno da radim na kompjuteru i naravno nailazim na mnogo nejasnih pojmova. Neke sam skontao ali za dll, znam da su bitne, ozbiljne ali ne znam kakva im je funkcija, sturktura... Mozda sam prerano poceo da se hvatam za ovu tematiku, ali mozda i uspem nesto, uz neciju ljubaznu pomoc...
Machina improba! Vel mihi ede potum vel mihi redde nummos meos!
 
Odgovor na temu

`and

Član broj: 32490
Poruke: 776
*.vdial.verat.net.

Sajt: www.bitbyterz.org


Profil

icon Re: Sta je to DLL i cemu koristi?17.01.2005. u 00:10 - pre 234 meseci
http://www.google.com/search?h...mp;oi=defmore&q=define:DLL
 
Odgovor na temu

Milos Stojanovic
Belgrade

Član broj: 10343
Poruke: 1864
*.nat-pool.bgd.sbb.co.yu.

ICQ: 282954730
Sajt: www.sietf.org


+7 Profil

icon Re: Sta je to DLL i cemu koristi?17.01.2005. u 00:31 - pre 234 meseci
Ukratko: DLL ti je skup funkcija i klasa.

Jedan prost primer gde se dobro dođe DLL: Recimo da pises skup aplikacija koje rade različite stvari (npr. neka 3D igrica, zatim njen level editor i njen unit editor), ali svima je zajedničko da iscrtavaju neki animirani objekat na ekran. Onda napraviš klasu koja radi iscrtavanje objekata na ekran, i umesto da je ubacuješ u svaku aplikaciju posebno, ti smestiš tu klasu u DLL, a onda iz tog DLLa "pozivaš" tu klasu svaki put kada ti zatreba iz bilo koje od aplikacija.

Što se tiče same strukture, prost DLL praviš kao i običan exe program, ali izostaviš entry point aplikacije (nemaš main() f-ju), i za svaku klasu za koju hoćeš da bude dostupna aplikacijama izvan DLLa dodaješ dllexport. Pogledaj ključne reči dllimport i dllexport na MSDNu recimo
ex. trooper
Oh goody... it's my Illudium PU-36 Explosive Space Modulator!
Softversko Inženjerstvo
♪♫♪
 
Odgovor na temu

:o)

Član broj: 38609
Poruke: 201
82.208.201.*



+2 Profil

icon Re: Sta je to DLL i cemu koristi?18.01.2005. u 12:31 - pre 234 meseci

Znam za "define" u google-u, procitao sam ali mi i dalje bese nejasno. Hvala u svakom slucaju.
Machina improba! Vel mihi ede potum vel mihi redde nummos meos!
 
Odgovor na temu

leka
Dejan Lekić
senior software engineer, 3Developers
Ltd.
London, UK

Član broj: 234
Poruke: 2534
..31.216.81.gus.vf.siwnet.net.

Sajt: dejan.lekic.org


+2 Profil

icon Re: Sta je to DLL i cemu koristi?30.01.2005. u 16:50 - pre 233 meseci
Ako u zivotu budes morao da radis sa vise kompajlera onda ce se DLL prica pretvoriti u nocnu moru. Na srecu trebalo bi da noviji C++ ABI (2.0) to malo "sredi" kada se svi proizvodjaci kompajlera usaglase sa ovim standardom. Koliko znam GNU GCC, Intel C/C++, SUN-ov ne-znam-kako-se-zove navodno podrzavaju C++ ABI 2.0. Ne znam za Microsoft-ov C/C++ kompajler, niti za Digital Mars-ov ili OpenWatcom...

Da sada ne bih uvodio neke nove pojmove koje bi trebalo objasniti pokusacu da prostim recima objasnim sta je DLL (Dynamic Linking Library). U pitanju je kolekcija funkcija iz tvog programa koje ti kao programer sakupis na jedno mesto (u jedan DLL fajl) iz jednog vrlo prostog razloga - zelis da te funkcije neka druga osoba (ili Ti u nekom drugom projektu) iskoristi, a da ne mora ponovo da kompajlira isti taj kod iz koga je sam DLL nastao.
Postoji jos nekoliko razloga zasto ima smisla praviti DLL, ali o njima nema smisla pricati sada...
Dejan Lekic
software engineer, MySQL/PgSQL DBA, sysadmin
 
Odgovor na temu

Boyka
BPS

Član broj: 287185
Poruke: 338
*.dynamic.isp.telekom.rs.



+33 Profil

icon Re: Sta je to DLL i cemu koristi?03.01.2013. u 11:02 - pre 137 meseci
Jos jedan primer moze biti konekcija na bazu, upiti za ubacivanje, brisanje, menjanje podataka iz tabele.

Recimo napravio sam dll sa svim javnim poljima za konekciju:
- connect.dll,
i za upite:
- queries.dll,

i imam glavni(Main) program gde sam napravio formu sa poljima za unos, listom, dugmicima itd.
i sada samo ubacim svoje dll-ove u using(c#), include(C/C++), import(Java) ili [DllImport("connect.dll")] i tada radim u glavnom programu isto kao i sa klasama...
Pozovem Metodu iz dll-a,
KonektujSe();

Naravno da je ovo sve moglo i sa klasama da se odradi, ali sledeci put kada budem radio slican program, ja imam dll koji samo importujem i po potrebi ako treba konekcioni string da se promeni ja promenim i to je to, dosta olaksava posao. E sada osim ovoga tu je i mogucnost komunikacije sa drugim jezikom recimo(C++ i C#), to me ne pitaj jer nisam nikada povezivao vise jezika radi jednog projekta...
 
Odgovor na temu

Nedeljko
Nedeljko Stefanović

Član broj: 314
Poruke: 8632
*.3gnet.mts.telekom.rs.



+2789 Profil

icon Re: Sta je to DLL i cemu koristi?03.01.2013. u 18:04 - pre 137 meseci
Ne znam za C#/Java jezike, ali u C/C++ se dll-ovi definitivno ne učitavaju pomoću #include.

A da bi koristio isti kod više puta, dll nije potreban, jer to može da se odradi i statičkim linkovanjem.
Nije bitno koji su zaključci izvučeni, već kako se do njih došlo.
 
Odgovor na temu

X Files
Vladimir Stefanovic
Pozarevac

SuperModerator
Član broj: 15100
Poruke: 4902
*.dynamic.sbb.rs.

Jabber: xfiles@elitesecurity.org


+638 Profil

icon Re: Sta je to DLL i cemu koristi?03.01.2013. u 19:10 - pre 137 meseci
30.01.2005. u 17:50 - pre 2895 dana i 2h
:) "Ala vreme leti!".

What is a DLL?
Citat:

...
A DLL is a library that contains code and data that can be used by more than one program at the same time. For example, in Windows operating systems, the Comdlg32 DLL performs common dialog box related functions. Therefore, each program can use the functionality that is contained in this DLL to implement an Open dialog box. This helps promote code reuse and efficient memory usage.

By using a DLL, a program can be modularized into separate components. For example, an accounting program may be sold by module. Each module can be loaded into the main program at run time if that module is installed. Because the modules are separate, the load time of the program is faster, and a module is only loaded when that functionality is requested.

Additionally, updates are easier to apply to each module without affecting other parts of the program. For example, you may have a payroll program, and the tax rates change each year. When these changes are isolated to a DLL, you can apply an update without needing to build or install the whole program again.

The following list describes some of the files that are implemented as DLLs in Windows operating systems:
• ActiveX Controls (.ocx) files
An example of an ActiveX control is a calendar control that lets you select a date from a calendar.
• Control Panel (.cpl) files
An example of a .cpl file is an item that is located in Control Panel. Each item is a specialized DLL.
• Device driver (.drv) files
An example of a device driver is a printer driver that controls the printing to a printer.

DLL advantages
The following list describes some of the advantages that are provided when a program uses a DLL:
• Uses fewer resources
When multiple programs use the same library of functions, a DLL can reduce the duplication of code that is loaded on the disk and in physical memory. This can greatly influence the performance of not just the program that is running in the foreground, but also other programs that are running on the Windows operating system.
• Promotes modular architecture
A DLL helps promote developing modular programs. This helps you develop large programs that require multiple language versions or a program that requires modular architecture. An example of a modular program is an accounting program that has many modules that can be dynamically loaded at run time.
• Eases deployment and installation
When a function within a DLL needs an update or a fix, the deployment and installation of the DLL does not require the program to be relinked with the DLL. Additionally, if multiple programs use the same DLL, the multiple programs will all benefit from the update or the fix. This issue may more frequently occur when you use a third-party DLL that is regularly updated or fixed.
...



 
Odgovor na temu

Boyka
BPS

Član broj: 287185
Poruke: 338
*.dynamic.isp.telekom.rs.



+33 Profil

icon Re: Sta je to DLL i cemu koristi?04.01.2013. u 10:34 - pre 137 meseci
Citat:
Nedeljko:
Ne znam za C#/Java jezike, ali u C/C++ se dll-ovi definitivno ne učitavaju pomoću #include.

A da bi koristio isti kod više puta, dll nije potreban, jer to može da se odradi i statičkim linkovanjem.


U C# moze, u C++ ne moze, zeznuo sam se lol
u C++ se mogu ubaciti samo primer.h fajlovi, nisam radio sa DLL-ovima u C++, ali predpostavljam da je moguce izvrsiti [DllImport]
 
Odgovor na temu

mmix
Miljan Mitrović
Profesorkin muz
Passau, Deutschland

SuperModerator
Član broj: 17944
Poruke: 6042



+4631 Profil

icon Re: Sta je to DLL i cemu koristi?04.01.2013. u 11:06 - pre 137 meseci
Ni u C#-u ne mozes da ukljucis DLL tako sto ces koristiti using, using se koristi za namespace, ne za ime DLLa (dllovi se registruju kao reference tokom bildovanja). Eventualno mozes neke pozive iz C#-a u C/C++ da obavis kroz DLLImport ako je moguce izvesti marshaling (konverziju poziva I parametara iz managed u unmanaged i obrnuto), ali u svakom slucaju to nema nikakve veze sa using.


Sloba je za 12 godina promenio antropološki kod srpskog naroda. On je od jednog naroda koji je bio veseo, pomalo površan, od jednog naroda koji je bio znatiželjan, koji je voleo da vidi, da putuje, da upozna,
od naroda koji je bio kosmopolitski napravio narod koji je namršten, mrzovoljan, sumnjicav, zaplašen, narod koji se stalno nešto žali, kome je stalno neko kriv… - Z.Đinđić
 
Odgovor na temu

Boyka
BPS

Član broj: 287185
Poruke: 338
*.dynamic.isp.telekom.rs.



+33 Profil

icon Re: Sta je to DLL i cemu koristi?04.01.2013. u 15:35 - pre 137 meseci
ne moze direktno, ali recimo ja sam ovako to radio:

Desni klik na projekat -> Add Reference -> Browse(nadjem dll)-> OK -> using namespace_dlla
i onda mogu da koristim sve public stavke u okviru namespace-a...

sto znaci da sam koristio namespace koji sam definisao unutar dll fajla... nisam se lepo izrazio :shy:
 
Odgovor na temu

[es] :: C/C++ programiranje :: Sta je to DLL i cemu koristi?

[ Pregleda: 13649 | Odgovora: 10 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.