Torna indietro   Hardware Upgrade Forum > Software > Programmazione

NVIDIA RTX Spark: il PC Windows on ARM costruito per l'IA agentica
NVIDIA RTX Spark: il PC Windows on ARM costruito per l'IA agentica
Debuttano ufficialmente i primi sistemi notebook basati su piattaforma NVIDIA RTX Spark, abbinati a Windows on ARM e pensati per l'intelligenza artificiale agentica. Architettura integrata tra CPU e GPU che condividono la memoria di sistema, capace di gestire in locale modelli molto grandi ma al contempo anche di spiccare con la grafica e l'elaborazione
Motorola razr fold, dalla conchiglia al formato a libro. La recensione
Motorola razr fold, dalla conchiglia al formato a libro. La recensione
Abbiamo provato Motorola razr fold, il pieghevole a libro con display interno LTPO da 8,09 pollici, Snapdragon 8 Gen 5 e batteria da 6000 mAh in 243 grammi. Pennino e custodia sopno già nella confezione, per un foldable che si caratterizza per il pannello luminoso, l'autonomia ottima per la categoria e le fotocamere coerenti e ben sfruttabili. Il listino è di 1999 euro, ma in vendita si trova già a molto meno
Recensione Google Pixel Watch 5: sembra lo stesso, ma al polso la differenza si sente
Recensione Google Pixel Watch 5: sembra lo stesso, ma al polso la differenza si sente
Google Pixel Watch 5 ha affinato una formula già convincente con hardware più veloce, Gemini offline e nuovi strumenti per sport e benessere. Abbiamo provato la versione LTE da 41 mm, comoda anche di notte e ben proporzionata sui polsi piccoli. Il design resta un punto di forza, ma l'autonomia premia ancora il 45 mm e alcune funzioni AI non sono disponibili in Italia: ecco che cosa cambia rispetto a Watch 4 e quale formato conviene scegliere oggi
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 28-04-2009, 10:59   #1
Mantis-89
Senior Member
 
L'Avatar di Mantis-89
 
Iscritto dal: Jul 2008
Città: Solesino (PD)
Messaggi: 1256
Differenza tra DLL e OCX

Salve a tutti,
qualcuno potrebbe gentilmente spiegarmi la differenza tra dll e ocx?
Ho creato un piccolo programmino(in c++) a riga di comando che accetta dei parametri in ingresso e mi stampa a video una stringa. Partendo da questo vorrei richiamarlo da un altra apllicazione e per questo credo mi serva una dll o un ocx.

Grazie in anticipo.
__________________
Desktop: AMD FX-8350 @4,2Ghz + A.C. FREEZER XTREME rev.2 - ASUS M5A99X EVO - 32GB DDR3 (4x8GB) @1866Mhz - Sapphire NITRO+ RX 580 8GB - SSD Crucial MX500 1TB - Antec Two Hundred - Seasonic Focus+ Platinum 650W
Always remember to K.I.S.S.
Mantis-89 è offline   Rispondi citando il messaggio o parte di esso
Old 28-04-2009, 11:33   #2
71104
Bannato
 
L'Avatar di 71104
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
non credo ti serva nessuno dei due, basta che fai il redirect degli standard streams impostando gli handles di tre pipes nella struttura STARTUPINFO che passi alla CreateProcess.

comunque una DLL é un modulo eseguibile che puó esportare simboli (dove per simboli si intende solitamente variabili e funzioni) ed essere caricato da processi che importano i simboli esportati; un OCX invece é una DLL contenente un controllo ActiveX, quindi un server COM in-process; fondamentalmente un server COM in-process é una DLL che esporta quattro funzioni:
  • DllRegisterServer - funzione che installa il server sul computer registrandolo nel registro di sistema
  • DllUnregisterServer - funzione che disinstalla il server
  • DllCanUnloadNow - funzione dal nome autoesplicativo richiamata dagli algoritmi ottimizzati di COM per gestire il caricamento dei server in-process all'interno dei processi
  • DllGetClassObject - funzione che restituisce il factory object implementato dal server in-process, cioé un oggetto che espone l'interfaccia IClassFactory o IClassFactory2 e che permette l'istanziamento degli oggetti implementati dal server (quindi degli oggetti ActiveX nel caso di un OCX)

se non hai capito neanche una parola allora lascia perdere DLL e OCX, non é roba da 5 minuti; la CreateProcess invece si impara in fretta.
71104 è offline   Rispondi citando il messaggio o parte di esso
Old 28-04-2009, 11:57   #3
Mantis-89
Senior Member
 
L'Avatar di Mantis-89
 
Iscritto dal: Jul 2008
Città: Solesino (PD)
Messaggi: 1256
Quote:
Originariamente inviato da 71104 Guarda i messaggi
se non hai capito neanche una parola allora lascia perdere DLL e OCX, non é roba da 5 minuti; la CreateProcess invece si impara in fretta.
mm.. qualcosa ho capito dai

Provo a spiegarti meglio il mio problema: l'applicazione principale è scritta in Visual FoxPro, però visto che non è il massimo dal punto di vista della sicurezza del codice vorremmo "esternare" alcune funzioni importanti scrivendole in un linguaggio più sicuro. Per questo ho scelto il c++ e ho realizzato un programmino di prova.

Secondo te tra dll e ocx quale mi conviene? Se non ho capito male tramite l'ocx potrei creare un oggetto all'interno del mio programma e utilizzarne le funzioni quando voglio giusto? Mentre con la dll non avrei un vero e proprio oggetto ma mi limiterei a richiamare le funzioni che ho creato..?
Spero di aver capito qualcosa di giusto.

Cmq non mi preoccupa il fatto di perderci del tempo, voglio che venga fuori un bel lavoro e sono disposto a studiarmi bene la cosa. Mi basta sapere da cosa partire e cosa mi serve per andare avanti.

Grazie .
__________________
Desktop: AMD FX-8350 @4,2Ghz + A.C. FREEZER XTREME rev.2 - ASUS M5A99X EVO - 32GB DDR3 (4x8GB) @1866Mhz - Sapphire NITRO+ RX 580 8GB - SSD Crucial MX500 1TB - Antec Two Hundred - Seasonic Focus+ Platinum 650W
Always remember to K.I.S.S.
Mantis-89 è offline   Rispondi citando il messaggio o parte di esso
Old 28-04-2009, 18:38   #4
71104
Bannato
 
L'Avatar di 71104
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
non ho mai usato Visual FoxPro e quindi non ho idea di come sia possibile dal suo interno utilizzare una DLL o un OCX, quindi in altre parole non risponderti

per quanto riguarda la differenza tra DLL e OCX credo che tu abbia intuito bene: una DLL non fa che esportare simboli (nella stragrande maggioranza dei casi funzioni) che possono essere richiamate da altri moduli eseguibili, quindi in sostanza una DLL é una "libreria" di codice riutilizzabile; DLL sta proprio per Dynamic-Link Library.
un OCX invece é una DLL che implementa un tipo specifico di server COM: si tratta infatti di un server COM in-process che permette di istanziare oggetti ActiveX, cioé oggetti COM che espongono determinate interfacce.

se hai la possibilitá dall'interno di Visual FoxPro di invocare le funzioni esportate da una DLL allora la strada della DLL é di gran lunga preferibile a quella dell'OCX perché devi apprendere un centesimo delle cose; per gli OCX invece ti avverto, é molto lunga peró c'é da dire che quando avrai studiato una tecnologia cosi importante e tutt'oggi ancora cosi influente nonostante .NET avrai capito molto dell'universo user-mode di Windows, compreso il motivo percui il DLL Hell non é mai esistito (é un problema inventato dalle terze parti che poi ovviamente é toccato a Microsoft risolvere).

questo é il punto di partenza per le DLL:
http://msdn.microsoft.com/en-us/libr...89(VS.85).aspx

per gli OCX invece devi partire da qui:
http://msdn.microsoft.com/en-us/libr...73(VS.85).aspx

studiandoti i seguenti argomenti (quello che non ho segnato puoi saltarlo a pié pari, il problema é che ho segnato quasi tutto ):

in COM Fundamentals:
  • The Component Object Model
  • Processes, Threads and Apartments
  • COM Clients and Servers
  • Defining COM Interfaces (salta qualunque cosa parli di proxy/stub e marshalling, non dovrebbe servire per un ActiveX)
  • Registering COM Applications
  • Error Handling in COM (questo é una cazzata e probabilmente se ci arriverai sará inutile leggerlo perché saprai giá tutto)
  • Events in COM and Connectable Objects
  • Component Categories Manager Implementation (questo non ricordo se serve per gli OCX, credo di si, ma se arrivi a studiare fin li sará oltremodo facile)

in Controls and Property Pages, naturalmente tutto anche se forse le Property Pages non ti serviranno (dipende da cosa vuoi realizzare).

in Automation Programming Reference:
  • Overview of Automation
  • Exposing ActiveX Objects
  • Accessing ActiveX Objects
  • ...
in quest'ultima sezione avrai piu volte la sensazione che ti stia ripetendo per la milionesima volta cose giá dette nelle due sezioni precedenti. i puntini di sospensione finali stanno a significare "per il resto boh, vedi tu "; tanto arrivato a quel punto o saprai tutto quello che serve di sapere o sarai ampiamente in grado di giudicare se ti serve di sapere qualcos'altro.

per finire, la sezione su MIDL (Microsoft Interface Definition Language) la consulterai piu che altro come reference del linguaggio MIDL che avrai appreso giá nelle sezioni precedenti, mentre lo Structured Storage credo proprio che lo salterai (parla dei meccanismi che servono a rendere persistente un oggetto COM, cioé come gestire il "salvataggio" del tuo oggetto su file e come "ripristinarlo". sapevi che la shell di Windows vede tutto come un oggetto OLE? ).


per quanto riguarda la sezione fondamentale, COM Fundamentals, puoi saltare tutta la parte relativa al marshalling (che non avviene mai per i controlli ActiveX locali), ai proxy/stub e alla sicurezza; se poi, in seguito, ti rendi conto che ti é utile anche la parte sulla sicurezza, allora studiati anche quella.
per darti un'idea di cosa faccia il sistema di sicurezza di DCOM* ti dico molto sinteticamente che serve ad autenticare i client che fanno uso di oggetti COM e a proteggere ogni singolo metodo di un oggetto COM da chiamate provenienti da client autenticati con identitá non autorizzate; si tratta di un sistema robusto basato a sua volta sul sistema di sicurezza del sistema operativo.

* COM e DCOM sono quasi la stessa cosa: DCOM sta per Distributed COM e si parla di DCOM anziché di COM quando si parla di server COM che girano su macchine remote; non ha senso parlare di sicurezza in COM perché se il server é locale puó essere facilmente hackerato, specialmente se é un server in-process e specialmente se usa un threading model tale da non aver bisogno di un proxy per il marshalling (a quel punto il sistema di sicurezza é totalmente assente visto che é implementato proprio dai proxy/stub).
71104 è offline   Rispondi citando il messaggio o parte di esso
Old 29-04-2009, 07:58   #5
Mantis-89
Senior Member
 
L'Avatar di Mantis-89
 
Iscritto dal: Jul 2008
Città: Solesino (PD)
Messaggi: 1256
Per utilizzare una dall in FoxPro dovrebbe dovrebbe essere questo:
Codice:
DECLARE TipoRestituito NomeFunzione IN NomeDLL.dll TipoParametro1 @, TipoParametro2 @, ....
per ogni funzione che si vuole utilizzare della dll.
Ieri ho provato a fare una dll seguendo quello che ho trovato in rete ma da errore perchè non riesce a trovare il punto d'ingresso. Ora mi studio quello che mi hai suggerito e vedo dove sbaglio.
Ti ringrazio per la spiegazione, ora ho le idee più chiare e so da dove posso iniziare, grazie!
__________________
Desktop: AMD FX-8350 @4,2Ghz + A.C. FREEZER XTREME rev.2 - ASUS M5A99X EVO - 32GB DDR3 (4x8GB) @1866Mhz - Sapphire NITRO+ RX 580 8GB - SSD Crucial MX500 1TB - Antec Two Hundred - Seasonic Focus+ Platinum 650W
Always remember to K.I.S.S.
Mantis-89 è offline   Rispondi citando il messaggio o parte di esso
Old 29-04-2009, 09:55   #6
Mantis-89
Senior Member
 
L'Avatar di Mantis-89
 
Iscritto dal: Jul 2008
Città: Solesino (PD)
Messaggi: 1256
Credo di aver fatto qualche passo in avanti, ora non mi da più errori, anche se non funziona ancora come vorrei(adesso cerco di approfondire).

Se ci fossero altri interessati all'argomento segnalo anche questa pagina qui.
__________________
Desktop: AMD FX-8350 @4,2Ghz + A.C. FREEZER XTREME rev.2 - ASUS M5A99X EVO - 32GB DDR3 (4x8GB) @1866Mhz - Sapphire NITRO+ RX 580 8GB - SSD Crucial MX500 1TB - Antec Two Hundred - Seasonic Focus+ Platinum 650W
Always remember to K.I.S.S.
Mantis-89 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


NVIDIA RTX Spark: il PC Windows on ARM costruito per l'IA agentica NVIDIA RTX Spark: il PC Windows on ARM costruito...
Motorola razr fold, dalla conchiglia al formato a libro. La recensione Motorola razr fold, dalla conchiglia al formato ...
Recensione Google Pixel Watch 5: sembra lo stesso, ma al polso la differenza si sente Recensione Google Pixel Watch 5: sembra lo stess...
Nokia Innovation Day 2026: la sovranità europea passa dal mercato unico e dai laboratori italiani del gruppo Nokia Innovation Day 2026: la sovranità e...
In sella alla Fiido Nomads Pro: e-bike con motore centrale da 100 Nm per il divertimento a 360 gradi In sella alla Fiido Nomads Pro: e-bike con motor...
GTA VI, manca sempre meno al lancio: Roc...
Honor prepara il suo primo pieghevole la...
Starshield torna operativo per le forze ...
La NASA porta le batterie allo stato sol...
Finto mining di criptovalute: 200 vittim...
AI sul PC senza passare dal cloud, come ...
ASUS aggiorna la sua gamma di monitor da...
Android potrà spegnere e riavviare il PC...
Quale capienza di micro SD è la p...
TSMC valuta il Texas per nuove fab, trat...
YouTube Music introduce nuove etichette ...
Questa foto non è intelligenza artificia...
AliExpress lancia Elite: sconti del 5% e...
007 First Light arriva su Nintendo Switc...
ServiceNow vuole mettere ordine nel caos...
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: 16:37.


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