Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. 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

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:

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:

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