Discussion:
dev-C++ i biblioteki dll
(Wiadomość utworzona zbyt dawno temu. Odpowiedź niemożliwa.)
Artur Rutkowski
2005-04-16 11:22:22 UTC
Permalink
Witam! Udało mi się napisać bardzo prostą bibliotekę dll. Napisałem ją dla testu. Mam kilka pytan odnośnie właśnie bibliotek dll. 1. Po skompilowaniu biblioteki math.dll zostały utworzone pliki: libmath.a, libmath.def, math.dll, dll.h, dllmain.cpp, dllmain.o, math.dev i math.layout. Pliki dll.h i dllmain.cpp rzecz jasna zostały napisane przeze mnie. Plik dllmain.o jak sie domyślam to skompilowany to pliku .obj plik dllmain.cpp. Dlaczego natomiast (i do czego służą) pliki libmath.a i libmath.def? Czy mają one wpływ na bibliotekę math.dll? 2. Jak skompilować program, żeby korzystał z tej biblioteki? Prubowałem kombinować jakoś używając komendy g++, ale niestety nie udało mi się nic wykombinować. Szukałem również w google, ale tu też nic nie uzyskałem. Wiem, że trzeba zrobić coś we właściwościach linkera, ale nie wiem gdzie one się znajdują. Przejraałem chyba wszystkie menu i opcje projektu, kompilatora itp. Pracuje na windows xp sp2 i Dev-C++ 4.9.9.0. Dla orientacji poniżej
prezentuje kod biblioteki (jak wspominałem jest to bardzo prosta biblioteka, wiec prosze się nie śmiać :))). dll.h: #include <iostream> using namespace std; int dod(int,int); // dodawanie int odj(int,int); // odejmowanie int mno(int,int); // mnozenie int dzie(int,int); // dzielenie dllmain.cpp: #include <iostream> #include "dll.h" using namespace std; int dod(int x,int y) { int w; w=x+y; return w; } int odj(int x,int y) { int w; w=x-y; return w; } int mno(int x,int y) { int w; w=x*y; return w; } int dzie(int x,int y) { int w; w=x/y; return w; } Kompiluje sie bez problemu. Ale program, który ma tą bibliotekę wykorzystać to już gorzej. Proszę was o pomoc. Dzieki z góry. Artur
--
Archiwum grupy: http://niusy.onet.pl/pl.comp.lang.c
Igor
2005-04-16 16:58:43 UTC
Permalink
[kompletnie nieczytelby tekst]
Czlowieku nie licz na odpowiedz, jesli nadal bedziesz tak pisal.
Slyszales moze o czym takim jak zawijanie wierszy?
--
Pzdr.
Igor
verdi
2005-04-17 14:17:35 UTC
Permalink
uff ale nadźgałeś...

aby używać tego Twojego dlla poprostu w menu projekt->opcje projektu dodaj
plik *.a oraz *.h wtedy
bezproblemowo bedziesz mógł używać funkcji z dllki.
można zrobić to też inaczej ale na początek to powinno wystarczyć...
no ale nie widzę abyś w swojej bibliotece eksportował nazwy funkcji... - to
też jest konieczne.
a w Twoim programie oczywiście import...

pozdrawiam.

Loading...