
Ti stai perdendo delle opportunità di trading:
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Registrazione
Accedi
Accetti la politica del sito e le condizioni d’uso
Se non hai un account, registrati
Il nuovo articolo Sbarazzarsi delle DLL auto-prodotte è stato pubblicato:
Se la funzionalità del linguaggio MQL5 non è sufficiente per svolgere le attività, un programmatore MQL5 deve utilizzare strumenti aggiuntivi. Deve passare a un altro linguaggio di programmazione e creare una DLL intermedia. MQL5 ha la possibilità di presentare vari tipi di dati e trasferirli all'API ma, purtroppo, MQL5 non può risolvere il problema relativo all'estrazione dei dati dal puntatore accettato. In questo articolo punteremo tutte le "i" e mostreremo semplici meccanismi di scambio e lavoro con tipi di dati complessi.
Come forse saprai, qualsiasi variabile (comprese le variabili di tipi di dati complessi) ha il suo indirizzo specifico, dal quale tale variabile viene archiviata in memoria. Questo indirizzo è un valore intero di quattro byte (di tipo int) uguale all'indirizzo del primo byte di questa variabile.
E se tutto è ben definito, è possibile lavorare con quest'area di memoria. La libreria del linguaggio C (msvcrt.dll) contiene la funzione memcpy. Il suo scopo è l'elemento mancante, che lega MQL5 e varie librerie API e offre grandi possibilità per un programmatore.
Passiamo alla conoscenza dei nostri antenati
La funzione Memcpy copia il numero specificato di byte da un buffer a un altro e restituisce il puntatore a un buffer del ricevitore.
In altre parole, un'area di memoria con una dimensione di cnt byte a partire dall'indirizzo src viene copiata nell'area di memoria a partire dall'indirizzo dst.
I dati che si trovano all'indirizzo src possono essere di vario tipo. Questo può essere una variabile di byte char, doppio numero di otto byte, array, qualsiasi struttura e qualsiasi volume di memoria. Significa che puoi trasmettere liberamente i dati da un'area all'altra, se conosci indirizzi e dimensioni.
Come funziona
Il diagramma 1 mostra le dimensioni comparative di alcuni tipi di dati.
La funzione Memcpy è necessaria per copiare i dati da un'area di memoria all'altra.
La figura 2 mostra la copia di quattro byte.
Autore: ---