Forum » Programiranje » C in Dll
C in Dll
GaPe ::
Folk!
Mogoče kdo ve, kako se naredi v C-ju dinamična knjižnica (klicanje, ...)?
Mogoče kdo ve, kako se naredi v C-ju dinamična knjižnica (klicanje, ...)?
Don't steal! The government hates competition.
Phil ::
narediš en fajn neki.h
Potem pa v njega napises
#include "iostream.h"
.
.
void izpisi(int a){
printf("%i",a);
}
V glavnem programu pa knjizico najprej vkljucis z:
#include "neki.h"
in jo klices npr. izpisi(10);
Pomoje da je nekako tako.
LP
Potem pa v njega napises
#include "iostream.h"
.
.
void izpisi(int a){
printf("%i",a);
}
V glavnem programu pa knjizico najprej vkljucis z:
#include "neki.h"
in jo klices npr. izpisi(10);
Pomoje da je nekako tako.
LP
GaPe ::
cman, pomoje teb ni čist jasn kwa je dinamična knjižnica. TO JE *.dll datoteka!!!!!!!!!!!
Don't steal! The government hates competition.
Monster ::
ja sej finta je fula podobna..
napise *.cpp ali *.h pa ga compajlaš v obliki dll-a(izbereš v programu)
pol pa ga includaš
naprej več ne vem .. Fajn razloženo je v Borlandovem helpu
sm kok sem jest gledu je kr zafukano... ne svetujem razen če maš kaj fulla velkega
napise *.cpp ali *.h pa ga compajlaš v obliki dll-a(izbereš v programu)
pol pa ga includaš
naprej več ne vem .. Fajn razloženo je v Borlandovem helpu
sm kok sem jest gledu je kr zafukano... ne svetujem razen če maš kaj fulla velkega
Ka zaboga...
DeViCeD ::
Verjetno bi ti samo rad linkal eno knjiznico s svojim programom (*.dll). Torej, to je odvidno od tvojega kompilerja. Ce uporeabljas gcc, potem samo gcc -ltvojaknjiznica, ce imas kaki Borland potem mas tm v project options, pa samo napises ime lib fileta, ipd...mal poglej pomov, pa bo slo :=)
So, if I press C, E and G I play C?
Senitel ::
DLL-je lahko uporabljaš na dva različna načina:
1. DLL-ji z import knjižnico
2. DLL-ji brez import knjižnice
Poleg tega, da je potrebno compiler prepričati, da bo naredil DLL je treba narediti še marsikaj.
Kodo je potrebno razbit na .h in .cpp file (vse kar potem rabiš so .h).
Če uporabljaš 1. način je dovolj, da imaš en makro, ala:
#ifdef EXPORT
#define MyDLL __declspec(dllexport)
#else
#define MyDLL __declspec(dllimport)
#endif
Vendar s tem načinom potem pri uporabi tega DLL-ja potrebuješ tudi en .lib file, ki ga compiler zgenerira.
V drugem načinu pa:
Pred vsako funkcijo, ki jo hočeš imet v DLL-ju napišeš extern "C". Potem pa moraš knjižnico in funkcije iz nje tudi sam naložit, vendar ne potrebuješ .lib file-a...
1. DLL-ji z import knjižnico
2. DLL-ji brez import knjižnice
Poleg tega, da je potrebno compiler prepričati, da bo naredil DLL je treba narediti še marsikaj.
Kodo je potrebno razbit na .h in .cpp file (vse kar potem rabiš so .h).
Če uporabljaš 1. način je dovolj, da imaš en makro, ala:
#ifdef EXPORT
#define MyDLL __declspec(dllexport)
#else
#define MyDLL __declspec(dllimport)
#endif
Vendar s tem načinom potem pri uporabi tega DLL-ja potrebuješ tudi en .lib file, ki ga compiler zgenerira.
V drugem načinu pa:
Pred vsako funkcijo, ki jo hočeš imet v DLL-ju napišeš extern "C". Potem pa moraš knjižnico in funkcije iz nje tudi sam naložit, vendar ne potrebuješ .lib file-a...
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | c++ lib,dll,h za uporabo v C#Oddelek: Programiranje | 1958 (1757) | noraguta |
» | uporaba C++ unmanaged kode v C#.NET projektuOddelek: Programiranje | 1908 (1631) | krho |
» | [C++] Kateri C++ IDE je najbolj osnoven?Oddelek: Programiranje | 2276 (1721) | sid_dabster |
» | Problem z kompajlanjem primerovOddelek: Programiranje | 1086 (1032) | MasterBlaster |
» | Uporaba .dllOddelek: Programiranje | 1486 (1446) | Vesoljc |