• Benvenuto in Making Videogames!
  • Dai sfogo alla tua fantasia!
  • Crea il tuo Videogioco!
Benvenuto ospite! Login Registrati




Valutazione discussione:
  • 0 voto(i) - 0 media
  • 1
  • 2
  • 3
  • 4
  • 5
Compilare una dll
#1

  1. Create un nuovo progetto in visual studio come "Progetto WIN32", clickkate "Avanti" e spuntate "DLL" e "Progetto vuoto", clickkate su fine.
  2. Aggiungete un file cpp facendo click sulla seconda icona in alto a sinistra, "Aggiungi nuovo elemento...", "File di C++ (.cpp)".
  3. Aggiungete un file def facendo click sulla seconda icona in alto a sinistra, "Aggiungi nuovo elemento...", "File di definizione moduli (.def)".
    Nel file cpp metterete le funzioni (o classi,ecc...) della dll.
    Nel file def metterete le funzioni (o classi,ecc...) da esportare.

    ad esempio:

    file cpp
    Codice PHP:
    #include <fstream>
    #include <iostream>
    using namespace std;


    void scrivi()
    {
        
    ofstream out;
        
    out.open("file.txt",ios::out);
        
    out << "prova";


    file def
    Codice PHP:
    LIBRARY "nome.dll"

    EXPORTS
        scrivi 

  4. Compilate con F5.


Utilizziamola, ad esempio, in Visual Basic:

Creiamo un nuovo progetto in visual basic, e ci mettiamo un bottone chiamato "Button1" (come di default).
nel codice mettiamo:
Codice PHP:
Public Class Form1
    
Public Declare Sub scrivi Lib "nome.dll" ()
    Private 
Sub Button1_Click(ByVal sender As System.ObjectByVal e As System.EventArgsHandles Button1.Click
        scrivi
()
    
End Sub
End 
Class 
copiamo la dll nella cartella dove andrà l'exe e compiliamo con F5.

quando parte clickkando il bottone si crea nella cartella dell'eseguibile un file "file.txt" con scritto dentro "prova".
 
Rispondi
#2
A me dice che non esiste la dll, e infatti non esiste xD. Ma devo creare una dll con il blocco note e metterla nella cartella Deburg del progetto ?

Se è cosi ho provato, e mi dice che il formato non è supportato.
 
Rispondi
#3
allora...
con visual c++ crei la dll (come ho scritto dal punto 1 al punto 4, cambiando solo i nomi)
con visual basic.net crei il programma che utilizzerà la dll (come funziona in vb.net funziona dappertutto).

la dll si dovrebbe creare quando premi F5 (oppure la freccetta che si usa per compilare un normale programma). la trovi nella cartella debug (o relase). la trovi dove troveresti l'exe fatto con visual c++, invece che l'exe hai la dll.
 
Rispondi
#4
Non la creava perché avevo sbagliato io ! XD

nel file .cpp ho messo: void Main() e nel file .def avevo messo: EXPORTS test XD, quindi ho risolto.

Quindi ora mi basta inserire la dll nella cartella apposita del programma, in modo tale che il programma se la chiama da se giusto ? non ho bisogno di lincare nulla (lo spero XD) ?
 
Rispondi
#5
basta copiarla nella cartella dell'esegubile oppure in system32, solo in caso la vuoi lasciare in una cartella separata la devi linkare nelle proprietà del progetto.

dopodiché puoi farci di tutto: classi, metodi e funzioni con parametri o senza. se ci metti dei parametri, ad esempio void scrivi(string testo){...}, puoi avere qualche problema se la usi in un altro linguaggio (la string del visual basic è diversa dalla string del c++ e il programma potrebbe non funzionare).
 
Rispondi
  


Discussioni simili
Discussione Autore Risposte Letto Ultimo messaggio
  geany va bene per compilare in c++?? SuperMario64 8 1,919 24-05-2012, 03:36 PM
Ultimo messaggio: Zapetino
  Semplice calcolatrice con dll Riddick 2 854 27-09-2010, 09:19 PM
Ultimo messaggio: Riddick

Vai al forum:


Browsing: 1 Ospite(i)