Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Roborock Qrevo Curv 2 Flow: ora lava con un rullo
Roborock Qrevo Curv 2 Flow: ora lava con un rullo
Qrevo Curv 2 Flow è l'ultima novità di casa Roborock per la pulizia di casa: un robot completo, forte di un sistema di lavaggio dei pavimenti basato su rullo che si estende a seguire il profilo delle pareti abbinato ad un potente motore di aspirazione con doppia spazzola laterale
Alpine A290 alla prova: un'auto bella che ti fa innamorare, con qualche limite
Alpine A290 alla prova: un'auto bella che ti fa innamorare, con qualche limite
Abbiamo guidato per diversi giorni la Alpine A290, la prima elettrica del nuovo corso della marca. Non è solo una Renault 5 sotto steroidi, ha una sua identità e vuole farsi guidare
Recensione HONOR Magic 8 Lite: lo smartphone indistruttibile e instancabile
Recensione HONOR Magic 8 Lite: lo smartphone indistruttibile e instancabile
Abbiamo provato a fondo il nuovo Magic 8 Lite di HONOR, e per farlo siamo volati fino a Marrakech , dove abbiamo testato la resistenza di questo smartphone in ogni condizione possibile ed immaginabile. Il risultato? Uno smartphone praticamente indistruttibile e con un'autonomia davvero ottima. Ma c'è molto altro da sapere su Magic 8 Lite, ve lo raccontiamo in questa recensione completa.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 01-06-2010, 22:10   #1
repla
Senior Member
 
Iscritto dal: Sep 2002
Messaggi: 393
[C]Uso dll in C

Salve a tutti.
Dovrei scrivere in C un piccolo programma in modo da utilizzare delle funzioni presenti in una dll che mi hanno passato.
Della Dll ho tutta la documentazione e solo la vera e propria liberia e un file .def.
Ho letto che è possibile eseguire un linkage esplicito o uno implicito.
L'unico problema è che non ho mai realizzato nulla di simile e la documentazione che ho trovato è un po troppo scarna.
Mi sapreste indicare qualche guida, qualche pagina qualche esempio che mi aitui un pò a comprendere come svolgere questo progetto??
Per la documentazione non ho preferenza tra inglese e italiano, l'importante è che sia chiara

Grazie a tutti

Ciaoooo

Ultima modifica di repla : 02-06-2010 alle 09:48. Motivo: una k di troppo:)
repla è offline   Rispondi citando il messaggio o parte di esso
Old 02-06-2010, 01:11   #2
fero86
Senior Member
 
Iscritto dal: Oct 2006
Città: Roma
Messaggi: 1383
Quote:
Originariamente inviato da repla Guarda i messaggi
Della Dll ho tutta la documentazione e solo la vera e propria liberia e un file .def.
col .def non ci fai niente, oltre alla documentazione ti serve necessariamente un header .h e opzionalmente un file .lib. il file .lib va linkato staticamente al tuo programma (lo sbatti al linker sulla linea di comando, se usi Visual C++ si fa dalle proprietá del progetto relative all'ijnput del linker) e ti permette di fare il linking implicito verso la DLL. altrimenti puoi fare il collegamento esplicito che significa caricare manualmente a runtime la DLL nel tuo processo (funzione API LoadLibrary http://msdn.microsoft.com/en-us/libr...(v=VS.85).aspx ) e ottenere i puntatori alle funzioni che vuoi invocare (funzione API GetProcAddress: http://msdn.microsoft.com/en-us/libr...12(VS.85).aspx ).



Quote:
L'unico problema è che non ho mai realizzato nulla di simile e la documentazione che ho trovato è un po troppo scarna.
la documentazione é vastissima, in MSDN c'é tutto, solo che tocca un po' cercarla. se hai domande piu specifiche di sicuro io o altri lettori del forum possono indicarti la pagina giusta in MSDN. intanto nella pagina di GetProcAddress che ti ho linkato sopra trovi un esempio d'uso per il collegamento esplicito alla funzione GetNativeSystemInfo che sta in kernel32.dll, ma se puoi procurarti il file .lib e gli headers pubblici della DLL ti consiglio senz'altro di procedere col collegamento implicito perché é piu semplice: ti permette di invocare direttamente le funzioni senza doverne dichiarare i puntatori.



Quote:
Per la documentazione non ho preferenza tra inglese e italiano, l'importante è ke sia chiara
finalmente una persona che capisce l'importanza dell'inglese in questo settore
la libreria MSDN in realtá é tradotta (non da tools automatici, é tradotta a mano!! ) in molte lingue, ma io consiglio sempre la versione originale inglese per evitare di incorrere in errori di traduzione.
fero86 è offline   Rispondi citando il messaggio o parte di esso
Old 02-06-2010, 10:03   #3
repla
Senior Member
 
Iscritto dal: Sep 2002
Messaggi: 393
Quote:
Originariamente inviato da fero86 Guarda i messaggi
col .def non ci fai niente, oltre alla documentazione ti serve necessariamente un header .h e opzionalmente un file .lib. il file .lib va linkato staticamente al tuo programma (lo sbatti al linker sulla linea di comando, se usi Visual C++ si fa dalle proprietá del progetto relative all'ijnput del linker) e ti permette di fare il linking implicito verso la DLL. altrimenti puoi fare il collegamento esplicito che significa caricare manualmente a runtime la DLL nel tuo processo (funzione API LoadLibrary http://msdn.microsoft.com/en-us/libr...(v=VS.85).aspx ) e ottenere i puntatori alle funzioni che vuoi invocare (funzione API GetProcAddress: http://msdn.microsoft.com/en-us/libr...12(VS.85).aspx ).



la documentazione é vastissima, in MSDN c'é tutto, solo che tocca un po' cercarla. se hai domande piu specifiche di sicuro io o altri lettori del forum possono indicarti la pagina giusta in MSDN. intanto nella pagina di GetProcAddress che ti ho linkato sopra trovi un esempio d'uso per il collegamento esplicito alla funzione GetNativeSystemInfo che sta in kernel32.dll, ma se puoi procurarti il file .lib e gli headers pubblici della DLL ti consiglio senz'altro di procedere col collegamento implicito perché é piu semplice: ti permette di invocare direttamente le funzioni senza doverne dichiarare i puntatori.



finalmente una persona che capisce l'importanza dell'inglese in questo settore
la libreria MSDN in realtá é tradotta (non da tools automatici, é tradotta a mano!! ) in molte lingue, ma io consiglio sempre la versione originale inglese per evitare di incorrere in errori di traduzione.
Intatto grazie mille per la risposta.
L'header della libreria l'ho recuperato quindi il file .h non è un problema.
Il file .lib non c'è(penso di poterlo recuperare con il comando lib di visual C++ oppure ricompliando la libreria da codice sorgente).
Considerando che le ultime due cose non le posso fare mi sa proprio che devo utilizzare il collegamento esplicito alla dll.

Intanto mi vedo la documentazione alle pagine msdn che mi hai linkato.

Grazie mille
Ciaooo
repla è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Roborock Qrevo Curv 2 Flow: ora lava con un rullo Roborock Qrevo Curv 2 Flow: ora lava con un rull...
Alpine A290 alla prova: un'auto bella che ti fa innamorare, con qualche limite Alpine A290 alla prova: un'auto bella che ti fa ...
Recensione HONOR Magic 8 Lite: lo smartphone indistruttibile e instancabile Recensione HONOR Magic 8 Lite: lo smartphone ind...
Sony WF-1000X M6: le cuffie in-ear di riferimento migliorano ancora Sony WF-1000X M6: le cuffie in-ear di riferiment...
Snowflake porta l'IA dove sono i dati, anche grazie a un accordo con OpenAI Snowflake porta l'IA dove sono i dati, anche gra...
Le 34 migliori offerte Amazon di oggi: T...
Amazfit T-Rex Ultra 2 arriva su Amazon: ...
Meta chiude messenger.com: da aprile 202...
Il paradosso dell'IA: aumenta la produtt...
Oltre 2 TB di dati su un foglio A4: &egr...
Turboden realizza la più grande p...
SEGA pronta al debutto del misterioso 'S...
Microsoft ce l'ha fatta: adesso il 100% ...
Cuffie Hi-Res eleganti, con ANC e 100 or...
Processo a Meta, Zuckerberg difende Inst...
Password in pericolo: scoperte gravi lac...
Pentagono e Anthropic ai ferri corti: in...
eBay acquisisce Depop da Etsy per 1,2 mi...
The Elder Scrolls VI userà motore...
Action cam 8K al prezzo giusto: Insta360...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 14:22.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v