Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - Scrivere una dll
Forum - C/C++ - Scrivere una dll

Avatar
()
Newbie


Messaggi:
Iscritto:

Segnala al moderatore
Postato alle 1:00
Giovedì, 01/01/1970
allora.. eccomi qua in guerra aperta con le dll...
mi potrestespiegare come si crea e come si linka una dll?

mi potreste fare un esempio di una dll che crei una messagebox con scritto ciao e come richiamarla nel codice del mio prog?
grazie mille!:k:

PM Quote
Avatar
Rand (Ex-Member)
Pro


Messaggi: 163
Iscritto: 17/05/2005

Segnala al moderatore
Postato alle 16:28
Domenica, 08/10/2006


Ero solito portare una pallottola nel taschino, all'altezza del cuore.
Un giorno un tizio mi tirò addosso una Bibbia, ma la pallottola mi salvò la vita.

(Woody Allen)
PM Quote
Avatar
()
Newbie


Messaggi:
Iscritto:

Segnala al moderatore
Postato alle 17:01
Domenica, 08/10/2006
non ho capito niente...:-|:-|

mi puoi fare un esempio?

mia_dll.cpp
Codice sorgente - presumibilmente C/C++

  1. #include <windows.h>
  2.  
  3. BOOL APIENTRY DllMain( HANDLE hModule, DWORD ul_reason_for_call, LPVOID lpReserved )
  4. {
  5. return TRUE;
  6. }



e questa dove la metto:
Codice sorgente - presumibilmente C/C++

  1. void ciao()
  2. {
  3. MessageBox(0, "Ciao","", MB_OK);
  4. }



mio_programma.cpp
Codice sorgente - presumibilmente Plain Text

  1. ???



:d:d

PM Quote
Avatar
()
Newbie


Messaggi:
Iscritto:

Segnala al moderatore
Postato alle 13:08
Lunedì, 09/10/2006
risolto da solo... non avevo googlato bene...
http://forum.html.it/forum/showthread.php?s=&threadid=5814 ...:

PM Quote
Avatar
Rand (Ex-Member)
Pro


Messaggi: 163
Iscritto: 17/05/2005

Segnala al moderatore
Postato alle 19:33
Lunedì, 09/10/2006
ok :k:


Ero solito portare una pallottola nel taschino, all'altezza del cuore.
Un giorno un tizio mi tirò addosso una Bibbia, ma la pallottola mi salvò la vita.

(Woody Allen)
PM Quote
Avatar
()
Newbie


Messaggi:
Iscritto:

Segnala al moderatore
Postato alle 21:36
Lunedì, 09/10/2006
...però non mi riesce! ca**o ca**o ca**o :grr::grr:
ti prego... mi puoi fare un esempio come ti avevo chiesto nel post sopra?.. ti supplico!!!!:d

PM Quote
Avatar
Rand (Ex-Member)
Pro


Messaggi: 163
Iscritto: 17/05/2005

Segnala al moderatore
Postato alle 17:02
Martedì, 10/10/2006
tua dll...
Codice sorgente - presumibilmente C++

  1. #include <windows.h>
  2.  
  3. BOOL APIENTRY DllMain( HANDLE hModule, DWORD ul_reason_for_call, LPVOID lpReserved ) {
  4.         return TRUE;
  5. }
  6.  
  7. //funzione esportata dalla dll come "public"
  8. extern "C" __declspec(dllexport) void Messaggio() {
  9.  
  10.         MessageBox (NULL, "weeeee" , "io sono la DLL XD", 0 + MB_ICONEXCLAMATION);
  11. }



il prg dove vuoi usare qst dll...
Codice sorgente - presumibilmente C++

  1. #include <iostream.h>
  2. #include <stdio.h>
  3.  
  4.  
  5. typedef void (WINAPI*cfunc)();
  6. cfunc Messaggio();
  7.  
  8.  
  9. void main() {
  10.    
  11.            HINSTANCE hLib=LoadLibrary("Progetto_DLL.DLL");
  12.  
  13.                 //se la DLL nn viene caricata
  14.            if(hLib==NULL) {
  15.  
  16.                         cout << "DLL NN CARICATA: ERRORE!" << endl;
  17.                         return;
  18.            }
  19.  
  20.            Messaggio();
  21.  
  22.            FreeLibrary((HMODULE)hLib);
  23.  
  24.            system("pause");
  25. }



:k:


Ero solito portare una pallottola nel taschino, all'altezza del cuore.
Un giorno un tizio mi tirò addosso una Bibbia, ma la pallottola mi salvò la vita.

(Woody Allen)
PM Quote
Avatar
()
Newbie


Messaggi:
Iscritto:

Segnala al moderatore
Postato alle 21:22
Martedì, 10/10/2006
Testo quotato


FreeLibrary((HMODULE)hLib);



mi puoi gentilmente spiegare k significa questo?;)

cmq mi dice:  
[Linker error] undefined reference to `Messaggio()'

praticamente non trova la funzione...

grazie mille... anche della tua pazienza...
:k:

Ultima modifica effettuata da il 10/10/2006 alle 21:31
PM Quote