問題タブ [preprocessor-directive]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
42508 参照

c++ - #if プリプロセッサ ディレクティブを C++ でネストできますか?

C++ のプリプロセッサ ディレクティブについて質問があります。

例えば:

このように使用できますか? C++ コンパイラはifndefandendifを正しい方法で一致させることができますか?

0 投票する
1 に答える
7686 参照

c++ - C++での#ifdef1とは

#ifdef 0C ++では、プログラマーがコードの実行をブロックするために使用することを知っていますが、この同じプロジェクトでは、多くのが表示され#ifdef 1ます。これは、コードが常に実行されることを意味しますか?残念ながら、コードはコンパイルされないので、実行してテストすることはできません。

0 投票する
3 に答える
14304 参照

c - プログラムの実行は常にCのメインから始まりますか?

プログラムの実行はメインから開始する必要がありますか、それとも開始アドレスを変更できますか?

in funこのプログラムはの前に印刷しin mainます。

0 投票する
2 に答える
462 参照

c++ - C++での#undefの使用

私はGSLライブラリのコードを研究していて、ヘッダーファイルの先頭の数行に戸惑っています。#undef、#ifdefなどが何をするかは理解していますが、理解できないのは、なぜそれらが基本的に_BEGIN_DECLSの定義をリセットしてから、続けて再度定義したのかということです。技術的には、以前の定義はないはずですよね?つまり、これらは静的であり、変更されることはありません。とにかく、ここにコードからの抜粋があります:

0 投票する
5 に答える
31540 参照

objective-c - #ifdef の if 条件の書き方。ステージング用。目標 c で

このコールStaging内にもう 1 つの条件を追加する必要があります。

この状態でどうするか。

MyApp_Stagingこれを行う方法は?

0 投票する
2 に答える
5212 参照

c-preprocessor - 大文字と小文字を区別しない #define

プリプロセッサで大文字と小文字を区別しない #define ステートメントを発行することはできますか?

たとえば、foobar のケーシングを Spameggs に変換したい、つまり:

この背後にある理由は、いくつかの fortran サブルーチンを別の名前に #define したいからです。もちろん、それらは大文字と小文字を区別しません。大文字化スキームを維持することはあまり気にしていないことに注意してください(最後の例ではナンセンスに思えます)。

0 投票する
2 に答える
214 参照

c++ - プリプロセッサディレクティブ「使用」

Cの学習に関する以前の知識から、のようなプリプロセッサディレクティブはステートメントではないことがわかってい#includeます。そのため、名前が示すように、プログラムがコンパイルされる前のプロセスであるため、最後に#defineaを追加する必要はありません。;それ。

C ++では、新しいディレクティブが導入されますusingが、なぜこのディレクティブはセミコロンを追加するのですか?私はそれがステートメントではないところを私が学ぶ前の指令のようだと思いましたか?

0 投票する
3 に答える
1107 参照

xcode - Xcode: 補完/強調表示を壊すマクロ

Xcode ドキュメントから:

構文の強調表示、コード補完、およびその他すべてのインデックス駆動型機能は、LLVM パーサーによって処理されます。コンパイラがシンボルを認識している場合、Xcode IDE も認識しています。

しかし、プリプロセッサ ディレクティブ内でコードを記述する場合、これらの「インデックス駆動型機能」はどれも機能しません。誰かがこれに対する解決策を持っていますか?

例:

未使用パラメーターの警告をオンにしてビルドすると、そのパラメーター使用されている場合でも大量の警告が生成されます。この特定のスクリーンショットのコードは ApplesReachability.mのもので、変更されていません。ここでも構文の強調表示が存在しないことに注意してください。

警告

内部の正しい補完#if

正しいコード補完

しかし、内部の間違った補完#else:

不正なコード補完

半分はローカル変数で動作します:

UIDeviceOrientationIsPortrait マクロでの壊れた解析

しかし、現在のメソッド スコープ外で宣言された何かを呼び出すと、再び壊れます。

UIDeviceOrientationIsPortrait マクロでの壊れた解析

別の例
別の例

これを修正する方法を教えてください

0 投票する
1 に答える
3115 参照

visual-studio-2010 - 異なるプロジェクトの異なるファイルに対するプリプロセッサ ディレクティブ (定数)

Visual Studio 2010 のさまざまなプロジェクトのさまざまなファイルに対して、いくつかのプリプロセッサ ディレクティブ定数を設定することは可能ですか? これが私がやろうとしていることの例です:

プロジェクト「A」のファイル「1」で、次のように定義します:TIMEDISPLAYING

プロジェクト「B」のファイル「2」で、TIMEDISPLAYINGを確認します。

プロジェクト ファイルにカスタム定数を追加できることはわかっています。同様のものを追加できるソリューション ファイルのどこかにありますか? または、すべてのカスタム定数をインポートする他のタイプのファイルですか?

現在、1 つのクラスでブール定数が定義されていますが、定数に基づいてコードをコンパイルしたいと考えており、DEBUG では十分ではありません。私の次の解決策は、DEBUG が定義されている場合、ブール定数を追加することです。

ここで私の最後の解決策に代わる解決策はありますか? どんな助けでも大歓迎です。

0 投票する
1 に答える
1171 参照

c# - #if(DEBUG)とlog4netの行番号のソース/ランタイムの不一致

次のようなプリプロセッサディレクティブを使用する場合

これにより、実行時にログの行番号(スタックトレースなど)が正しくなくなります。上記の例では、残りがプリプロセッサによって解析されるため、行9は4になります。

ログ分析が非常に困難になります。

でメソッドを作成せずにこの問題を解決する方法はありConditionalAttributeますか?

私は知っていDebugger.IsAttachedます(そして私は今このソリューションを使用しています)が、デバッガーが接続されているかどうかではなく、ビルドモード(デバッグ/リリース)に基づいてコードを実行したいと思います。