mql için bir ide olarak Vim - sayfa 4

 
Vladimir Simakov :
  1. Geliştirmek için önişlemci, aynı #if gereklidir.


Ve olan bu değil mi?

Документация по MQL5: Основы языка / Препроцессор / Условная компиляция (#ifdef, #ifndef, #else, #endif)
Документация по MQL5: Основы языка / Препроцессор / Условная компиляция (#ifdef, #ifndef, #else, #endif)
  • www.mql5.com
Директивы препроцессора используются компилятором для предварительной обработки исходного кода перед его компиляцией. Директива всегда начинается со знака Каждая директива описывается отдельной записью и действует до переноса строки. Нельзя в одной записи использовать несколько директив. Если запись директивы получается слишком большой, то её...
 
Alexey Viktorov :


Ve olan bu değil mi?

Sevgili dostum, #if hakkında yazdım - orada değil. Mat öğrenin. Bölüm.
 
Vladimir Simakov :
Sevgili dostum, #if hakkında yazdım - orada değil. Mat öğrenin. Bölüm.

Peki, farkı açıklayın. Belki bir şeyler öğrenirim. Sonra bir cahil gibi öleceğim...

 
Alexey Viktorov :

Peki, farkı açıklayın. Belki bir şeyler öğrenirim. Sonra bir cahil gibi öleceğim...

https://en.cppreference.com/w/cpp/preprocessor
 
Vladimir Simakov :
https://en.cppreference.com/w/cpp/preprocessor

Pekala, durum hiç de ciddi değil. İngilizce öğrenemeden öleceğim.

 
Alexey Viktorov :

Pekala, durum hiç de ciddi değil. İngilizce öğrenemeden öleceğim.

Ne yazık ki, en iyi şeyler orada icat edildi, yani eğer İngilizce bilmiyorsan, bu senin sorunun. Şahsen ben öğretiyorum. Aynı şey Google çevirisindeki artılara da yansıyor, hatta öğrenmeye katkıda bulunuyorlar, çünkü Rusça'daki bu çevirmenden öyle bir saçmalık var ki, gidecek hiçbir yer yok. Ancak rıhtımdaki keskin nişancılar şanslıydı, geliştirme ekibinde Rusları görmek incirden biraz daha fazlası)))
 
Alexey Viktorov :

Pekala, durum hiç de ciddi değil. İngilizce öğrenemeden öleceğim.

hızlı ve çok hızlıysa, o zaman #if derlemeden önce bilinen bir koşulun kontrolüdür ve MQL'de sadece #ifdef vardır - karşılık gelen tanımlamanın varlığının kontrolü, yani. kod

 const int x = 2 ;
#if x> 0 #include "lib1.mqh"
#elif   #include "lib2.mqh" 
#endif

çalışmayacak

ama tam olarak öyle değil! )))) - Makroları sevmiyorum ama bazen onlarsız zor oluyor ((((

 
Igor Makanu :

hızlı ve çok hızlıysa, o zaman #if derlemeden önce bilinen bir koşulun kontrolüdür ve MQL'de sadece #ifdef vardır - karşılık gelen tanımlamanın varlığının kontrolü, yani. kod

çalışmayacak

ama tam olarak öyle değil! )))) - Makroları sevmiyorum ama bazen onlarsız zor oluyor ((((

En son C++ standartlarını tam olarak bilmiyorum, ancak "#if x>0" hiçbir yerde uygulanmıyor gibi görünüyor. İstek listesi genellikle en azından "#if tanımlanmış DEBUG && tanımlanmış DÜZEYLER" ile ilgilidir.

 

Son yıllarda editör hakkında çok fazla şikayet var. "Liste yap" demek yanlış. Ciddi ciddi oturup böyle bir liste hazırlamanın mantığını kimse görmüyor çünkü tepkiye inanmıyorlar.

Düzenleyiciyi geliştirmek için popüler IDE'lerden standart özellikleri uygulamaya başlamak yeterlidir.

Hazırlıksız, ne kaçırıyorum:

Kod katlama.

Alt-M işlevlerinin tam listesi, işlevler #ifdef/#endif içine sarılmış olsa bile.

Harici bir şekillendirici çağırma . Ben clang kullanıyorum. Yerleşik bana hiç uymuyor, bunlar sadece sabit ayar kümeleri.

Açık dosyaların harici değişikliklerinin kontrolü.

Daha güçlü hata ayıklama yetenekleri. Örneğin, değişkenlerin değerlerini değiştirmek, bir değişkeni değiştirmek için kesme noktaları (koşul dahil). Hata ayıklarken bir "geri adım" beklemiyorum, bu çok fazla.

Her şey tüylü yıllarda yapıldı.

 
Edgar Akhmadeev :

En son C++ standartlarını tam olarak bilmiyorum, ancak "#if x>0" hiçbir yerde uygulanmıyor gibi görünüyor. İstek listesi genellikle en azından "#if tanımlanmış DEBUG && tanımlanmış DÜZEYLER" ile ilgilidir.

#3 tanımla
#eğer bir<5
...
#endif
Bu çalışacak. Burada bütün tsimes çeviri aşamalarındadır. Önişlemci çalışırken, constexpr değişkenleri hakkında hiçbir şey bilmez, çünkü derleme zamanı.
Neden: