Aiuto per risolvere un problema con l'importazione di una funzione da una dll - pagina 8

 

Leggete Google e sembra che abbia ragione su stdafx.h :-))

Beh... sì... Si vive e si impara... :-)

 

Sì, sì.

Molto spesso il primo link contiene tutto ciò di cui avete bisogno.

 

Interessante... e in Bilder 6 nessuno impreca davvero contro il file stdafx.h, solo 17 avvertimenti e il file pesa la metà.

Hmmm... sì...

Ora ho 2 librerie apparentemente funzionanti :-). Li controllerò mentre lavorano con i dati. Spero davvero in un risultato positivo :-)))

 
jartmailru писал(а) >>

Ehm... Beh, devo tipo infilare tutti i file nel progetto

che mi hai mandato.

.

Onestamente non mi verrebbe nemmeno in mente di pensare a

quale file dall'insieme dei file nella *libreria*

da aggiungere al progetto.

Credevo che fossero automaticamente tirati su per la catena attraverso gli h-file. La prima volta che ho compilato e collegato usando solo il file svd.cpp, tuttavia, non ci sono stati errori finché non ho aggiunto extern. Il svd.cpp ha un collegamento al suo file h, e si riferisce ad altri file h, e questi usano file cpp con lo stesso nome. Sembra avere senso come pensavo. Voglio solo giustificarmi un po', in modo che non vi facciate l'idea che sono completamente stupido :-)). È un peccato quando si riceve una tale opinione su di te :-)). Sto solo scherzando :-))

 
boysn >> :

Pensavo che fossero automaticamente tirati su per la catena tramite i file h. La prima volta, però, usando solo il file svd.cpp, ho compilato e slittato, non ci sono stati errori, finché non ho aggiunto extern. Il svd.cpp ha un collegamento al suo file h, e si riferisce ad altri file h, e questi usano file cpp con lo stesso nome. Sembra avere senso come pensavo. Voglio solo giustificarmi un po', in modo che non vi facciate l'idea che sono completamente stupido :-)). È un peccato quando si riceve una tale opinione su di te :-)). Sto solo scherzando :-))

Per non commettere un tale errore, è necessario sapere questo:

* Perché dividere i file in .CPP / .H

* La differenza tra una dichiarazione di funzione e una dichiarazione

* Perché abbiamo bisogno di parole chiave inline / template?

* Cosa succede se si dichiarano funzioni all'interno di una dichiarazione di classe

* Scopo della compilazione e del collegamento

* Distinzione e scopo di .OBJ / .LIB / .DLL / .EXE

* Collegamento statico e dinamico

* Cos'è l'errore Linker = funzione non risolta

* Che cos'è l'errore Linker = simbolo multiplo

* Come il linker costruisce un file binario

* Cos'è l'esterno?

.

Quindi da qualche parte.

 
jartmailru >> :
* La differenza tra una dichiarazione di una funzione e una dichiarazione.

Beh, dichiarazione e dichiarazione sono la stessa cosa :).

dichiarazione -- definizione.

 

Sì... Mi sono reso conto di essermi sbagliato... Va bene, impareremo...

A proposito del dll ricevuto... Purtroppo non è stato all'altezza delle mie aspettative finora :-), cioè non ha certo funzionato subito. In linea di principio sarebbe molto bello se lo facesse.

Ahimè, i miracoli non accadono mai... :-)

Ho provato a dargli come input una matrice quadrata 3x3. So quale dovrebbe essere l'output, lo so dall'esempio. Sfortunatamente, l'uscita ha valori singolari di zeri, e le matrici di uscita dei vettori sono singolari.

Cioè qualcosa sembra essere fatto, ma non so cosa sia. Per quanto ho capito, è impossibile scrivere informazioni di output all'interno della dll... come print("a["+i+"]", a[i]), perché non lo stampa... Questo è ciò che giudico dal primo esempio in questo thread...

C'era la funzione printf("GetDoubleValue takes %.8lf\n",dpar);

Nessuna informazione è stata stampata nei log del meta-trader, solo il valore della funzione restituita (return) è stato mostrato

Quindi, da quanto ho capito, non posso fare il debug in questo modo, giusto? O ho sbagliato di nuovo?

Ora sto cercando di creare un progetto exe invece che dll, perché mi hai detto che è più facile fare il debug dei progetti eche...

Anche se la funzione WinMain appare lì e non riesco a capire come agganciare correttamente il mio progetto a un progetto exe...

E non ho ancora capito quali funzioni di output e quali strumenti è meglio per me per il debug... Ora sto leggendo Arkhangelsky...

 
TheXpert >> :

Beh, la dichiarazione e l'annuncio sono la stessa cosa :).

dichiarazione -- definizione.

Grazie per l'errore. Lo so in inglese :-).

 
boysn >> :

Tuttavia, la funzione WinMain appare lì e non ho ancora capito come agganciare correttamente il mio progetto al progetto eche...

E non ho ancora capito quali funzioni e strumenti di output dovrei debuggare... Ora sto leggendo Arkhangelsky...

E tu, compagno, scrivi un codice di prova con la tua matrice 3 su 3 e l'output di debug - e tutto funzionerà.

La cosa principale è che avete bisogno di un'applicazione *console* per printf().

 
Sì, ci proverò...
Motivazione: