mqlのIDEとしてのVim - ページ 4

 
Vladimir Simakov:
  1. 開発するプリプロセッサは、同じ#ifが必要です。


そういうこと なのでは?

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


そういうこと なのでは?

やれやれ、#ifについて書いたが......ないんだな。基本を学ぶ。
 
Vladimir Simakov:
やれやれ、#ifについて書いたが......ないんだな。基本を学ぶ。

では、その違いを説明してください。何か学ぶことがあるかもしれない。そうでなければ、私は無知なまま死んでしまう...。

 
Alexey Viktorov:

では、その違いを説明してください。何か学ぶことがあるかもしれない。それとも知らないまま死んでしまうのか...。

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

まあ、それは全然本気じゃないんですけどね。英語を覚える前に死んでしまう。

 
Alexey Viktorov:

まあ、それは全然本気じゃないんですけどね。英語を覚える前に死んでしまう。

残念ながら、最高のものはすべてそこで発明されているので、英語がわからないと、それはあなたの問題なのです。個人的には、勉強になります。Googleはプロを翻訳する上で同じドキュメント、非常に多くの場合でも、単にどこにも行くことがないことをロシア語でこの翻訳者からそのようながらくたので、学習に貢献する。しかし、開発チームのロシアチームのようなドック幸運とシャープシューター、ダイムより少し)))))。
 
Alexey Viktorov:

それは全然本気じゃない。英語を覚える前に死んでしまう。

高速かつ非常に高速な場合、#ifはコンパイル前に分かっている条件のチェックですが、MQLでは#ifdef-対応する定義のチェック、すなわちコード

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

が効かない

が、それは正確ではない!?))) - マクロは好きではありませんが、マクロがないと辛い時もあります(((

 
Igor Makanu:

高速かつ非常に高速な場合、#ifはコンパイル前に分かっている条件のチェックですが、MQLでは#ifdef-対応する定義のチェック、すなわちコード

が効かない

が、それは正確ではない!?))) - マクロは好きではありませんが、マクロがないと辛い時もあります(((

最新のC++の規格を正確に知っているわけではありませんが、「#if x>0」はどこにも実装されていないようです。だいたい「#if defined DEBUG && defined LEVELS」くらいでいいんじゃないでしょうか。

 

近年、エディターに対する不満が多くなっています。リストを作れ」と言うのは間違いです。誰も真剣に座ってそのようなリストを作ることに意味を見出さないのは、その反応を信じないからだ。

エディタを改良するには、一般的なIDEの標準機能の実装に着手すればよいのです。

一言で言えば、自分にとって足りないもの。

コードフォールディング

Alt-Mによる機能のフルリスト、#ifdef/#endifでラップされている場合も同様。

外部スタイラスを 呼び出す。私はclangを使用しています。内蔵のものは、固定された設定しかないので、私には全く合いません。

開いているファイルに対する外部からの変更を制御します。

より強力なデバッグオプション例えば、変数値の変更、変数変更時のブレークポイント(条件によるものも含む)。デバッグ時に「一歩下がる」ことは望みません、やりすぎです。

ソシャゲの頃に全部実装されてるんだよなぁ

 
Edgar Akhmadeev:

最新のC++の規格を正確に知っているわけではありませんが、「#if x>0」はどこにも実装されていないようです。だいたい「#if defined DEBUG && defined LEVELS」くらいでいいんじゃないでしょうか。

#define a 3
#if a<5
...
#エンドイフ
これなら大丈夫。ここでポイントになるのは、翻訳の段階です。プリプロセッサが実行されているときは、すでにコンパイル時なので、constexpr変数については何も知らない。