Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 27
  1. #1
    Utente di HTML.it L'avatar di Il Pazzo
    Registrato dal
    Jul 2004
    Messaggi
    1,071

    Creare DLL

    Uso visual studio 2005... vorrei creare una dll di funzioni (se ho capito bene ne esistono diverse di dll)... come si fa?

  2. #2
    Utente di HTML.it L'avatar di XWolverineX
    Registrato dal
    Aug 2005
    residenza
    Prague
    Messaggi
    2,563
    Devi farla in C?
    C++? Visual Basic? C#??
    "Se proprio devono piratare, almeno piratino il nostro." (Bill Gates)

    "Non è possibile che 2 istituzioni statali mi mettano esami nello stesso giorno." (XWolverineX)

    http://xvincentx.netsons.org/programBlog

  3. #3
    Utente di HTML.it L'avatar di Il Pazzo
    Registrato dal
    Jul 2004
    Messaggi
    1,071
    c++

  4. #4
    Utente di HTML.it L'avatar di XWolverineX
    Registrato dal
    Aug 2005
    residenza
    Prague
    Messaggi
    2,563
    Vai nella sezione progetti C++ e fai Dinamic Link Library (DLL) o Static Link Library (LIB)
    "Se proprio devono piratare, almeno piratino il nostro." (Bill Gates)

    "Non è possibile che 2 istituzioni statali mi mettano esami nello stesso giorno." (XWolverineX)

    http://xvincentx.netsons.org/programBlog

  5. #5
    Utente di HTML.it L'avatar di Il Pazzo
    Registrato dal
    Jul 2004
    Messaggi
    1,071
    non c'è... ci sono librerie di classi e librerie di windows form.. ma quelle no...

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    File -> Nuovo -> Progetto -> Visual C++ -> Win32 -> Progetto Win32 -> Tipo applicazione: DLL

  7. #7
    Stai usando VC++.NET Express Edition?
    Amaro C++, il gusto pieno dell'undefined behavior.

  8. #8
    Utente di HTML.it L'avatar di Il Pazzo
    Registrato dal
    Jul 2004
    Messaggi
    1,071
    No... non è l'express edition... ho trovato come indicato da oregon... mentre le librerie statiche mi sembra di aver capito sono le .lib.... corretto?

    Dove posso trovare una guida o una semplice spiegazione di differenza tra librerie statiche e dinamiche?

    Per quanto riguarda la programmazione di DLL ( e anche .lib) utilizzo normalmente il linguaggio c++.. no? senza particolari istruzioni o cose vari (che so... li devo mettere gli include? etc etc) giusto?

  9. #9
    Originariamente inviato da Il Pazzo
    No... non è l'express edition... ho trovato come indicato da oregon... mentre le librerie statiche mi sembra di aver capito sono le .lib.... corretto?
    Sì.
    Dove posso trovare una guida o una semplice spiegazione di differenza tra librerie statiche e dinamiche?
    Le librerie statiche vengono incorporate al momento del linking all'interno dell'eseguibile, mentre le librerie dinamiche rimangono files separati, di cui l'eseguibile richiama le procedure a runtime.
    Per quanto riguarda la programmazione di DLL ( e anche .lib) utilizzo normalmente il linguaggio c++.. no?
    Certo.
    senza particolari istruzioni o cose vari (che so... li devo mettere gli include? etc etc) giusto?
    Devi usare declspec(dllexport) per le funzioni che intendi esportare.
    Amaro C++, il gusto pieno dell'undefined behavior.

  10. #10
    Utente di HTML.it L'avatar di Il Pazzo
    Registrato dal
    Jul 2004
    Messaggi
    1,071
    Originariamente inviato da MItaly

    Devi usare declspec(dllexport) per le funzioni che intendi esportare.
    Sei stato chiarissimo... ti ringrazio... non mi è chiaro solo quest'ultimo punto... questo lo devo scrivere sempre nella dll.. giusto? (lo stesso vale per le .lib?)

    poi... ho creato un progetto in VS C++... mi esce una cosa così:
    codice:
    // a.cpp : definisce il punto di ingresso dell'applicazione DLL.
    //
    
    #include "stdafx.h"
    
    
    #ifdef _MANAGED
    #pragma managed(push, off)
    #endif
    
    BOOL APIENTRY DllMain( HMODULE hModule,
                           DWORD  ul_reason_for_call,
                           LPVOID lpReserved
    					 )
    {
        return TRUE;
    }
    
    #ifdef _MANAGED
    #pragma managed(pop)
    #endif
    Dove devo scrivere le mie funzioni?

    Mi basta scrivere ad esempio

    codice:
    void funzione (int h){
            ....
    }
    per avere una funzione che mi accetti un parametro?

    grazie ancora

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.