Se ho capito bene, dovremmo ancora usare le protezioni e ci sono alcuni requisiti speciali del codice?
Nei nostri file di intestazione sì, abbiamo bisogno di guardie. Prima passiamo attraverso il tubo, fa un gran casino di tutti gli agganci e questo va al compilatore µl. Senza guardie, le definizioni saranno ripetute e il compilatore µl genererà errori.
Dai requisiti del codice, sì solo uno in linea di principio - impacchettiamo direttive specifiche μl del preprocessore come questo
#ifndef VIM
mqlcpp_#import jkjkjk.dll
#endif
void fn_from_jkjkjk_dll();
In modo che clang non inciampi su questa importazione durante l'analisi e la compilazione. Se mql è un costrutto specifico, ma non una direttiva del preprocessore, allora senza mqlcpp_ (non è necessario, ma dal punto di vista di clang questo è una specie di errore).
#ifndef VIM
inputint MA_Period=13; // Ну или INPUT макросinputint MA_Shift=0;
#else
int MA_Period=13;
int MA_Shift=0;
#endif
Se dereferenziare i puntatori con -> e se mettere & prima degli array dipende dalla scelta, ma seguire lo stile C++ darà un miglior supporto da parte di clang.
HH: a proposito, non ti ha detto come viene definita la "prima compilazione" nel contesto dell'aggiunta di guardie. Vedere Include/Object.mqh e se non vi troviamo una guardia, allora compiliamo prima. Vorrei anche aggiungere la possibilità di formare una lista nera per i ladri stupidi.
In generale, le tue domande sono sbagliate, più interessanti - ho fatto un ide in un paio di giorni sulle mie ginocchia con tutte le chicche e una qualità molto più alta del meta-editor...
Sì... Con capacità del genere è facile scrivere un sistema operativo in una settimana). A volte mi piace abbellire, ma così tanto...)
Forse è il framework disponibile pubblicamente, che permette di costruire software a livello di puzzle? Bene, allora ognuno può costruire il proprio IDE a suo gusto e usarlo).
Tutti questi trucchi non sono necessari a un trader che sta scrivendo una strategia di trading per se stesso.
E ancora di più per gli ordini personalizzati, visto che sono soprattutto i principianti ad ordinare. Gli ordini lì sono da una serie di innocenze infantili, che sono implementate in poche righe di codice.
Naturalmente mi è piaciuto il fatto che il supporto python è previsto.
...Il resto di noi continuerà a pregare l'MC, mettendo doverosamente le ampolle davanti agli array e dereferenziando tramite un punto.
Per quanto riguarda il punto, è più comodo e laconico, oltre alla compatibilità con i linguaggi OOP. Al contrario, ho spesso pensato che sarebbe bello avere la stessa caratteristica in C++. Certo, c'è un lato negativo, ma penso che ci siano più vantaggi.
Alexey Navoykov: Per quanto riguarda il punto, è più comodo e laconico, oltre alla compatibilità con i linguaggi OOP. Al contrario, ho spesso pensato che sarebbe stato bello implementare la stessa funzione in C++. Naturalmente, c'è un lato negativo, ma ci sono più vantaggi, credo.
Allora dovreste buttare i puntatori intelligenti, gli iteratori, . . Si deve in qualche modo distinguere tra una chiamata di funzione del puntatore stesso e il tipo puntato.
Un punto non può essere sovraccaricato, cioè l'accesso agli interni è garantito.
Renat Akhtyamov:
E tanto più quando si ordina, visto che sono soprattutto i principianti ad ordinare. Sono ordini di innocenza infantile, che vengono implementati in poche righe di codice.
Non me ne frega niente degli ordini, sto scrivendo per me stesso e condivido le mie conoscenze con gli altri, non per alcuni marketeers.
Allora dovreste buttare i puntatori intelligenti, gli iteratori, . . Si deve in qualche modo distinguere tra una chiamata di funzione del puntatore stesso e il tipo puntato.
Un punto non può essere sovraccaricato, cioè l'accesso agli interni è garantito.
Beh, non si può nemmeno sovraccaricare -> in MQL. Ecco perché la differenza è fuori questione.
A proposito, è possibile emulare questo sovraccarico in Vim?
Alexey Navoykov: Non confondete la normale sostituzione automatica del testo in un file con la sostituzione del contesto.
E a cosa serve? Nel caso in cui variabili con contesti diversi abbiano lo stesso nome nello stesso file? Sostituzione per significato, non per testo? Si prega di chiarire dove e perché dovrebbe essere usato. All'improvviso, tutti ne hanno bisogno e alcuni non lo sanno.
Реter Konow: E a cosa serve? Nel caso in cui variabili con contesti diversi abbiano lo stesso nome nello stesso file? Sostituzione per significato, non per testo? Per favore, spiega dove e perché usarlo. All'improvviso, tutti ne hanno bisogno e alcuni non lo sanno.
Se ho capito bene, dovremmo ancora usare le protezioni e ci sono alcuni requisiti speciali del codice?
Nei nostri file di intestazione sì, abbiamo bisogno di guardie. Prima passiamo attraverso il tubo, fa un gran casino di tutti gli agganci e questo va al compilatore µl. Senza guardie, le definizioni saranno ripetute e il compilatore µl genererà errori.
Dai requisiti del codice, sì solo uno in linea di principio - impacchettiamo direttive specifiche μl del preprocessore come questo
In modo che clang non inciampi su questa importazione durante l'analisi e la compilazione. Se mql è un costrutto specifico, ma non una direttiva del preprocessore, allora senza mqlcpp_ (non è necessario, ma dal punto di vista di clang questo è una specie di errore).
Se dereferenziare i puntatori con -> e se mettere & prima degli array dipende dalla scelta, ma seguire lo stile C++ darà un miglior supporto da parte di clang.
HH: a proposito, non ti ha detto come viene definita la "prima compilazione" nel contesto dell'aggiunta di guardie. Vedere Include/Object.mqh e se non vi troviamo una guardia, allora compiliamo prima. Vorrei anche aggiungere la possibilità di formare una lista nera per i ladri stupidi....
In generale, le tue domande sono sbagliate, più interessanti - ho fatto un ide in un paio di giorni sulle mie ginocchia con tutte le chicche e una qualità molto più alta del meta-editor...
Leggere, leggere....
Stanco di guardare questi esibizionisti.
Tutti questi trucchi non sono necessari a un trader che sta scrivendo una strategia di trading per se stesso.
E ancora di più per gli ordini personalizzati, visto che sono soprattutto i principianti ad ordinare. Gli ordini lì sono da una serie di innocenze infantili, che sono implementate in poche righe di codice.
Naturalmente mi è piaciuto il fatto che il supporto python è previsto.
È un'aggiunta abbastanza utile.
...Il resto di noi continuerà a pregare l'MC, mettendo doverosamente le ampolle davanti agli array e dereferenziando tramite un punto.
Esattamente! Quanti nomi di variabili e funzioni sono cambiati in questo modo. Un po' più lungo che in VS, ma più controllo.
Per quanto riguarda il punto, è più comodo e laconico, oltre alla compatibilità con i linguaggi OOP. Al contrario, ho spesso pensato che sarebbe stato bello implementare la stessa funzione in C++. Naturalmente, c'è un lato negativo, ma ci sono più vantaggi, credo.
Allora dovreste buttare i puntatori intelligenti, gli iteratori, . . Si deve in qualche modo distinguere tra una chiamata di funzione del puntatore stesso e il tipo puntato.
Un punto non può essere sovraccaricato, cioè l'accesso agli interni è garantito.
E tanto più quando si ordina, visto che sono soprattutto i principianti ad ordinare. Sono ordini di innocenza infantile, che vengono implementati in poche righe di codice.
Non me ne frega niente degli ordini, sto scrivendo per me stesso e condivido le mie conoscenze con gli altri, non per alcuni marketeers.
Allora dovreste buttare i puntatori intelligenti, gli iteratori, . . Si deve in qualche modo distinguere tra una chiamata di funzione del puntatore stesso e il tipo puntato.
Un punto non può essere sovraccaricato, cioè l'accesso agli interni è garantito.
Non confondete la normale sostituzione automatica del testo in un file con la sostituzione del contesto.
E a cosa serve? Nel caso in cui variabili con contesti diversi abbiano lo stesso nome nello stesso file? Sostituzione per significato, non per testo? Per favore, spiega dove e perché usarlo. All'improvviso, tutti ne hanno bisogno e alcuni non lo sanno.
Beh, in linea di principio hai ragione.