Torna indietro   Hardware Upgrade Forum > Software > Programmazione

HONOR Magic V5: il pieghevole ultra sottile e completo! La recensione
HONOR Magic V5: il pieghevole ultra sottile e completo! La recensione
Abbiamo provato per diverse settimane il nuovo Magic V5 di HONOR, uno smartphone pieghevole che ci ha davvero stupito. Il device è il più sottile (solo 4.1mm) ma non gli manca praticamente nulla. Potenza garantita dallo Snapdragon 8 Elite, fotocamere di ottima qualità e batteria in silicio-carbonio che garantisce un'ottima autonomia. E il Prezzo? Vi diciamo tutto nella nostra recensione completa.
Recensione Google Pixel 10 Pro XL: uno zoom 100x assurdo sempre in tasca (e molto altro)
Recensione Google Pixel 10 Pro XL: uno zoom 100x assurdo sempre in tasca (e molto altro)
Google Pixel 10 Pro XL è il top di gamma della serie Pixel, presentando un ampio display Super Actua da 6.8 pollici insieme alle novità della serie, fra cui la ricarica wireless magnetica Pixelsnap e le nuove funzionalità AI avanzate. Il comparto fotografico include un sistema a tripla fotocamera con zoom Pro Res fino a 100x, mentre il processore Tensor G5 con 16GB di RAM garantisce prestazioni percepite molto elevate su Android.
Lenovo IdeaPad Slim 3: un notebook Snapdragon X economico
Lenovo IdeaPad Slim 3: un notebook Snapdragon X economico
Forte della piattaforma Qualcomm Snapdragon X, il notebook Lenovo IdeaPad Slim 3 riesce a coniugare caratteristiche tecniche interessanti ad uno chassis robusto, con autonomia di funzionamento a batteria che va ben oltre la tipica giornata di lavoro. Un notebook dal costo accessibile pensato per l'utilizzo domestico o in ufficio, soprattutto con applicazioni native per architettura ARM
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 11-02-2008, 18:38   #1
unnamedbass
Member
 
Iscritto dal: Mar 2007
Messaggi: 36
[FORTRAN]creare e richiamare una Dll

ragazzi volevo sapere come si crea e si richiama una Dll,io uso il compaq visula fortran 6.....qualcuno sa dirmi come si fa?

a che cosa servono le cdecl ?
unnamedbass è offline   Rispondi citando il messaggio o parte di esso
Old 17-02-2008, 23:42   #2
tiMo
Member
 
Iscritto dal: Jan 2005
Messaggi: 157
Quote:
Originariamente inviato da unnamedbass Guarda i messaggi
ragazzi volevo sapere come si crea e si richiama una Dll,io uso il compaq visula fortran 6.....qualcuno sa dirmi come si fa?

a che cosa servono le cdecl ?
I forum non sono posti per chiedere agli altri quello che non si vuol fare. La documentazione del CVF online spiega bene come fare a creare dll e a richiamarle. Ti consiglio di provare seguendo la documentazione e di tornare a chiedere nel caso, ma prima ci vuole uno sforzo da parte tua. Un aiuto te lo dò: fai prima a partire dalla riga di comando, lascia stare la GUI.

la chiave cdecl e le direttive di compilazione CDEC$ sono usate per gestire l'esportazione di nomi di subroutines dal fortran al C o verso altri linguaggi in programmi misti (ad es. Fortran + C).

ciao
tiMo
__________________
The plural of anecdote is not data.
~ Roger Brinner
tiMo è offline   Rispondi citando il messaggio o parte di esso
Old 18-02-2008, 15:30   #3
unnamedbass
Member
 
Iscritto dal: Mar 2007
Messaggi: 36
sono riuscito a fare una DLL,adesso vorrei capire come faccio a mettere una SUBROUTINE dentro la mia DLL?
unnamedbass è offline   Rispondi citando il messaggio o parte di esso
Old 19-02-2008, 13:01   #4
tiMo
Member
 
Iscritto dal: Jan 2005
Messaggi: 157
Quote:
Originariamente inviato da unnamedbass Guarda i messaggi
sono riuscito a fare una DLL,adesso vorrei capire come faccio a mettere una SUBROUTINE dentro la mia DLL?
se avessi letto il manuale non saresti ancora qua.

vabbe' va...


i passi sono:

1. scrivi una subroutine e salvala in un file, diciamo pippo.f90

2. compila con

df pippo.f90 /dll /LINK /RELEASE

ti crea un file pippo.dll e pippo.lib

3. per usare la subroutine in un altro programma, diciamo prog.f90

df prog.f90 pippo.lib /LINK /RELEASE

ciao
tiMo
__________________
The plural of anecdote is not data.
~ Roger Brinner
tiMo è offline   Rispondi citando il messaggio o parte di esso
Old 19-02-2008, 15:55   #5
unnamedbass
Member
 
Iscritto dal: Mar 2007
Messaggi: 36
grazie mille per la tua risposta.

Quello che volevo sapere è come inserire un subroutine dentro una DLL,ti dico quello che devo fare...con Dependency Walker,riesco a vedere le librerie,in particolare quelle del programma che devo sviluppare.
Allora la libreria che mi interessa si chiama SELub.DLL,dentro questa libreria vedo che ci sono tre subroutine,come faccio a mettere dentro quella DLL la mia nuova subroutine.
SE faccio una nuova subroutine e salvo il tutto in un file .for poi compilo ed poi build,alla fine mi esce l'error LINK 2001 external symbol _MAIN_,questo problema riesco a risolvere aggiungendo al progetto una libreria,ma adesso mi da nuovo errore :fatal error LINk1104 cannot open file " SELub.DLL"
Spero di essere stato chiaro,qualcuno sa darmi una mano
unnamedbass è offline   Rispondi citando il messaggio o parte di esso
Old 19-02-2008, 17:05   #6
tiMo
Member
 
Iscritto dal: Jan 2005
Messaggi: 157
Quote:
Originariamente inviato da unnamedbass Guarda i messaggi
grazie mille per la tua risposta.

Quello che volevo sapere è come inserire un subroutine dentro una DLL,ti dico quello che devo fare...con Dependency Walker,riesco a vedere le librerie,in particolare quelle del programma che devo sviluppare.
Allora la libreria che mi interessa si chiama SELub.DLL,dentro questa libreria vedo che ci sono tre subroutine,come faccio a mettere dentro quella DLL la mia nuova subroutine.
se non hai il codice sorgente non gliela puoi mettere dentro (che io sappia), ma puoi chiamarla assieme a quella creando una dll separata con le istruzioni che ti ho dato.


Quote:
Originariamente inviato da unnamedbass Guarda i messaggi
SE faccio una nuova subroutine e salvo il tutto in un file .for poi compilo ed poi build,alla fine mi esce l'error LINK 2001 external symbol _MAIN_,questo problema riesco a risolvere aggiungendo al progetto una libreria,ma adesso mi da nuovo errore :fatal error LINk1104 cannot open file " SELub.DLL"
Spero di essere stato chiaro,qualcuno sa darmi una mano
no, non sei stato chiaro (almeno per me), cerca di descrivere meglio il tuo problema e posta le linee di codice che hai usato per compilare.

ciao
tiMo
__________________
The plural of anecdote is not data.
~ Roger Brinner
tiMo è offline   Rispondi citando il messaggio o parte di esso
Old 19-02-2008, 18:03   #7
unnamedbass
Member
 
Iscritto dal: Mar 2007
Messaggi: 36
cos'è il codice sorgete?

questo il mio codice del programma SB0004.for

INCLUDE 'sb0004.h'
SUBROUTINE SB0004(IN,OUT,IP,RP,DP,BP,SP)
IMPLICIT NONE
CHARACTER*80 BNAMES
INTEGER INMIN,INS,OUTS,IPS,RPS,DPS,BPMIN,BPS,SPMIN,SPS,
& GROUP,OPM
PARAMETER (BNAMES = 'MYPROD'
&, OPM = 1
&, INMIN = 2
&, INS = 2
&, OUTS = 1
&, IPS = 10
&, RPS = 0
&, DPS = 0
&, BPMIN = 0
&, BPS = 0
&, SPMIN = 0
&, SPS = 0
&, GROUP = 3)
CHARACTER*80 SP(SPS+1)
DOUBLE PRECISION DP(DPS+1)
INTEGER IP(IPS+1)
REAL IN(INS+1),OUT(OUTS+1),RP(RPS+1),BP(BPS+1)
C-----------------------------------------------------------------------
IF (IP(2) .NE. 0) THEN
IF (IP(2) .EQ. -1) THEN
C Identification call
CALL ID(IN,OUT,IP,RP,DP,BP,SP,BNAMES,
& OPM,INMIN,INS,OUTS,IPS,RPS,DPS,BPMIN,BPS,SPMIN,SPS,GROUP)
ELSE IF (IP(2) .EQ. 1) THEN
C Constructor call
ELSE
C Destructor call
END IF
RETURN
END IF
C---- Standard call ----------------------------------------------------
OUT(1) = IN(1) * IN(2)
RETURN
END
il file Sb0004.h è un file di teso che mi esporta la subroutine SB0004,con le cosidette calling convetion.
Compilo ed è tutto ok,quando faccio build mi da il seguente errore: fatal error LINK 1104 cannot open file " selub.lib "

Questa SELUB.DLL è una libreria del mio programma da sviluppare.
io ho letto dal manuale che per collegare una libreria con il progetto bisogna andare su setting di CVS e aggiungere la libreria.
unnamedbass è offline   Rispondi citando il messaggio o parte di esso
Old 20-02-2008, 11:18   #8
Unrue
Senior Member
 
L'Avatar di Unrue
 
Iscritto dal: Nov 2002
Messaggi: 5981
Quote:
Originariamente inviato da unnamedbass Guarda i messaggi
cos'è il codice sorgente?
Unrue è online   Rispondi citando il messaggio o parte di esso
Old 20-02-2008, 17:09   #9
unnamedbass
Member
 
Iscritto dal: Mar 2007
Messaggi: 36
Quote:
Originariamente inviato da Unrue Guarda i messaggi
nn capisco le tue faccine,se era pura ironia ben venga .......ma almeno dimmi cos'è il codice sorgente....
unnamedbass è offline   Rispondi citando il messaggio o parte di esso
Old 21-02-2008, 09:15   #10
tiMo
Member
 
Iscritto dal: Jan 2005
Messaggi: 157
Quote:
Originariamente inviato da unnamedbass Guarda i messaggi
cos'è il codice sorgete?

questo il mio codice del programma SB0004.for

INCLUDE 'sb0004.h'
SUBROUTINE SB0004(IN,OUT,IP,RP,DP,BP,SP)
IMPLICIT NONE
CHARACTER*80 BNAMES
INTEGER INMIN,INS,OUTS,IPS,RPS,DPS,BPMIN,BPS,SPMIN,SPS,
& GROUP,OPM
PARAMETER (BNAMES = 'MYPROD'
&, OPM = 1
&, INMIN = 2
&, INS = 2
&, OUTS = 1
&, IPS = 10
&, RPS = 0
&, DPS = 0
&, BPMIN = 0
&, BPS = 0
&, SPMIN = 0
&, SPS = 0
&, GROUP = 3)
CHARACTER*80 SP(SPS+1)
DOUBLE PRECISION DP(DPS+1)
INTEGER IP(IPS+1)
REAL IN(INS+1),OUT(OUTS+1),RP(RPS+1),BP(BPS+1)
C-----------------------------------------------------------------------
IF (IP(2) .NE. 0) THEN
IF (IP(2) .EQ. -1) THEN
C Identification call
CALL ID(IN,OUT,IP,RP,DP,BP,SP,BNAMES,
& OPM,INMIN,INS,OUTS,IPS,RPS,DPS,BPMIN,BPS,SPMIN,SPS,GROUP)
ELSE IF (IP(2) .EQ. 1) THEN
C Constructor call
ELSE
C Destructor call
END IF
RETURN
END IF
C---- Standard call ----------------------------------------------------
OUT(1) = IN(1) * IN(2)
RETURN
END
il file Sb0004.h è un file di teso che mi esporta la subroutine SB0004,con le cosidette calling convetion.
Compilo ed è tutto ok,quando faccio build mi da il seguente errore: fatal error LINK 1104 cannot open file " selub.lib "

Questa SELUB.DLL è una libreria del mio programma da sviluppare.
io ho letto dal manuale che per collegare una libreria con il progetto bisogna andare su setting di CVS e aggiungere la libreria.

ti ho ha spiegato nel mio post precedente come fare a includere una libreria dll e ti ho anche suggerito di passare alla modalita' command line per compilare, almeno fintanto che non ci capisci qualcosa in piu' sull'interfaccia grafica.

Ho visto che la tua sub ne chiama un'altra. Se ID e' su una libreria a parte forse avrai bisogno di un'interfaccia o anche di dichiararla come EXTERNAL (vedi manuale).
__________________
The plural of anecdote is not data.
~ Roger Brinner
tiMo è offline   Rispondi citando il messaggio o parte di esso
Old 21-02-2008, 09:44   #11
unnamedbass
Member
 
Iscritto dal: Mar 2007
Messaggi: 36
si, ID è una funzione che sta su un 'altra libreria,che io riesco a collegare tramite la funzione settings-->link-->input e poi digito la mia libreria da aggiungere,da collegare.Infatti dentro il mio progetto,io trovo quella libreria,se nn facessi cosi mi darebbe errore di link.

Il mio problema sta nel fatto che io devo mettere la mia nuova funzione dentro la libreria selUB.DLL,altrimenti nn collego la mia funzione col programma.Perchè quella è la DLL che mi permette di collegare la mia nuova funzione con il programma.Cioe dentro la libreria ci sono 3 funzioni ne posso aggiungere una quarta?Come si fa?

Scusami ma nn riesco a capire come faccio a incluere una nuova libreria dalla linea di comando,potresti farmi un esempio.
unnamedbass è offline   Rispondi citando il messaggio o parte di esso
Old 21-02-2008, 11:15   #12
tiMo
Member
 
Iscritto dal: Jan 2005
Messaggi: 157
Quote:
Originariamente inviato da unnamedbass Guarda i messaggi
si, ID è una funzione che sta su un 'altra libreria,che io riesco a collegare tramite la funzione settings-->link-->input e poi digito la mia libreria da aggiungere,da collegare.Infatti dentro il mio progetto,io trovo quella libreria,se nn facessi cosi mi darebbe errore di link.

Il mio problema sta nel fatto che io devo mettere la mia nuova funzione dentro la libreria selUB.DLL,altrimenti nn collego la mia funzione col programma.Perchè quella è la DLL che mi permette di collegare la mia nuova funzione con il programma.Cioe dentro la libreria ci sono 3 funzioni ne posso aggiungere una quarta?Come si fa?
Te l'ho gia' scritto, non puoi, devi creare un'altra dll e aggiungerla al programma come hai gia' fatto con selUB.dll. Puoi farlo da menu oppure da linea di comando.

Quote:
Scusami ma nn riesco a capire come faccio a incluere una nuova libreria dalla linea di comando,potresti farmi un esempio.
te l'ho fatto in un mio post precedente
__________________
The plural of anecdote is not data.
~ Roger Brinner
tiMo è offline   Rispondi citando il messaggio o parte di esso
Old 21-02-2008, 12:16   #13
unnamedbass
Member
 
Iscritto dal: Mar 2007
Messaggi: 36
l'unico mezzo che ho per interfacciare,collegare,mettere dentro il mio programma la nuova funzione che creo(ad esmpio,io voglio inserire una moltiplicazione A*B) è quella di inserlirla nella SelUb.dll......se io nn metto dentro la mia funzione dentro quella specifica libreria,il programma che voglio sviluppare che si chiama SEL,nn vede la mia nuova funzione.Sul manuale del programma SEL ,ho letto che quella libreria ti collega il tuo nuovo blocco che fai (ad esempio,un blocco che fa una moltiplicazione) al programma,in modo che tu puoi richiamarla e farla funzionare.

Se io faccio una nuova DLL,nn mi serve tanto,una cosa che potrei fare e forse è quello che dici tu,potrei aggiungere alla mia nuova libreria la SelUB.DLL,che è quelle che mi serve,ma quando faccio questa operazione mi dà l'errore LINK 1104,cioe nn riesce trovare questa libreria SelUb.lib,questa libreria esiste e il percosro che gli do è giusto.L'unica cosa che mi viene da pensare e che questa libreria si bloccata,Puo essere?Cioe devo farmi dare dei codici da quelli che hanno sviluppato il programma SEL?
unnamedbass è offline   Rispondi citando il messaggio o parte di esso
Old 21-02-2008, 12:48   #14
Unrue
Senior Member
 
L'Avatar di Unrue
 
Iscritto dal: Nov 2002
Messaggi: 5981
Quote:
Originariamente inviato da unnamedbass Guarda i messaggi
nn capisco le tue faccine,se era pura ironia ben venga .......ma almeno dimmi cos'è il codice sorgente....
Non era ironia, era stupore: stai scrivendo un programma e non sai cosa è il codice sorgente. E' come se uno prende la patente e non sa cosa è la macchina. Anche il programma che stai scrivendo è codice sorgente

Ogni applicazione ha il suo codice sorgente, ovvero le righe di istruzioni in un determinato linguaggio usate per crearla.

Ultima modifica di Unrue : 21-02-2008 alle 13:16.
Unrue è online   Rispondi citando il messaggio o parte di esso
Old 21-02-2008, 13:05   #15
tiMo
Member
 
Iscritto dal: Jan 2005
Messaggi: 157
Quote:
Originariamente inviato da unnamedbass Guarda i messaggi
l'unico mezzo che ho per interfacciare,collegare,mettere dentro il mio programma la nuova funzione che creo(ad esmpio,io voglio inserire una moltiplicazione A*B) è quella di inserlirla nella SelUb.dll......se io nn metto dentro la mia funzione dentro quella specifica libreria,il programma che voglio sviluppare che si chiama SEL,nn vede la mia nuova funzione
Se e' cosi' allora hai bisogno del codice sorgente della selUB.dll (o come si chiama) anche se .....

sei proprio sicuro che il main non veda la tua nuova funzione? Se hai accesso al main non dovresti avere problemi a fargliela vedere.
__________________
The plural of anecdote is not data.
~ Roger Brinner
tiMo è offline   Rispondi citando il messaggio o parte di esso
Old 22-02-2008, 10:19   #16
unnamedbass
Member
 
Iscritto dal: Mar 2007
Messaggi: 36
Quote:
Originariamente inviato da tiMo Guarda i messaggi

sei proprio sicuro che il main non veda la tua nuova funzione? Se hai accesso al main non dovresti avere problemi a fargliela vedere.
dentro la libreria che mi creo,certo che vedo la mia funzione.....ma il problema sta che io devo vederla dentro la libreria selUB.DLL,solo in questo modo riesco a risolvere il mio problema.
unnamedbass è offline   Rispondi citando il messaggio o parte di esso
Old 25-02-2008, 16:37   #17
unnamedbass
Member
 
Iscritto dal: Mar 2007
Messaggi: 36
ho risolto il mio problema bastava fare una DLL e chiamarla come quella del programma e mettere tutte le mie subroutine,in questo modo riesco a farle vedere al software che devo sviluppare
unnamedbass è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


HONOR Magic V5: il pieghevole ultra sottile e completo! La recensione HONOR Magic V5: il pieghevole ultra sottile e co...
Recensione Google Pixel 10 Pro XL: uno zoom 100x assurdo sempre in tasca (e molto altro) Recensione Google Pixel 10 Pro XL: uno zoom 100x...
Lenovo IdeaPad Slim 3: un notebook Snapdragon X economico Lenovo IdeaPad Slim 3: un notebook Snapdragon X ...
Recensione OnePlus Watch 3 43mm: lo smartwatch che mancava per i polsi più piccoli Recensione OnePlus Watch 3 43mm: lo smartwatch c...
BOOX Note Air4 C è uno spettacolo: il tablet E Ink con Android per lettura e scrittura BOOX Note Air4 C è uno spettacolo: il tab...
Battlefield 6: molti utenti hanno giocat...
Acronis sfrutterà le NPU delle CP...
ChatGPT, le chat possono essere segnalat...
Xiaomi lancia HyperOS 3 basato su Androi...
Tesla lancia la Model Y Performance: nuo...
HPE aggiunge nuove funzionalità d...
Socket AM5 a rischio? ASRock prova a spe...
UE pronta a cancellare dazi sui prodotti...
Interfacce cervello-computer, la Cina pr...
Mantenere l'auto (ma non solo) sempre pu...
CD Projekt spinge su The Witcher 4: pi&u...
Amazon, ecco tutti i maxi-sconti ancora ...
Windows 95 ancora operativo dopo 30 anni...
POCO F7 e Xiaomi Redmi Note 14 Pro+: due...
Samsung QLED Serie Q60D: i modelli da 43...
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: 13:54.


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