問題タブ [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.
c++ - C ++は、ディレクティブでラップせずに連鎖呼び出しを無効にします
私は自分のプロジェクト用の単純なロガーラッパーに取り組んでいます。これにより、バックエンドを簡単に交換できます。
これが私の理想的なインターフェースです。
私がそれを実装した方法は次のとおりです。
log::error#operator<<
Sink
一時オブジェクトを返します。Sink#operator<<
移動コンストラクターを返し*this
、定義します。Sink
完全なメッセージは、呼び出しチェーンの最後に呼び出されるのデストラクタで 利用できます。
考案された実装:
これは、ロギングを無効にするクリーンな方法が必要な場合を除いて、正常に機能します。チェーンを使用していなかった場合、ログ関数はプリプロセッサディレクティブを使用して関数のコンテンツを削除できます
次に、コンパイラーは空の関数呼び出しを最適化して削除します。しかし、私が達成しようとしているAPIでそれをどのように行うかはわかりません。glogがどういうわけかそれをするので、私はそれが可能であることを知っています。
このようなディレクティブを使用すると、優れたAPIを使用するという目的が無効になります。
これらのタイプの連鎖呼び出しを無効にするクリーンな方法は何ですか?どんな助けでも大歓迎です。
objective-c - プリプロセッサ ディレクティブの問題
iOS アプリに Google+ API と Foursquare API を含めようとしています。#define DEBUG
コンパイル時に、両方がコンパイル中に競合するステートメントを使用しているため、字句またはプリプロセッサの問題が発生したことが示されます。
c++ - CとC++の間の共通ヘッダーのプリプロセッサガードについて
CおよびC++のプリプロセッサディレクティブについて質問があります。
私は次のコードを持っています:
私は、c++コンパイラーが事前定義された__cpluspluswillcコンパイラーがそうではないことを知っています。
そして、このコードセットをacヘッダーファイルに入れます。c++ファイルにはこのcヘッダーファイルが含まれます。そして私の質問は、ファイルがc ++コンパイラでコンパイルされている場合は、パートAをコンパイルし、acコンパイラでコンパイルされている場合は、パートBをコンパイルしますが、通常、このコードを使用してc++ファイルを作成します。 cファイルは相互に作用します。上記のようなコードがある場合、CファイルとC ++ファイルの両方が一緒にあり、gccコンパイラを使用しているということですが、このコードはどのようにコンパイルされますか?パートAだけがコンパイルされますか?またはパートBのみがコンパイルされますか?または、コードが2つの部分に分割され、パートAがC ++用にコンパイルされ、パートBがCファイル用に同時にコンパイルされますか?
c++ - プリプロセッサ関数で他の #define を作成できますか?
これを尋ねた後、私は罰せられることを知っていますが、それでも私は次のようなことをしたいと思います:
つまり、他の「#defines」を動的に定義する「#define」関数が必要です。
リファクタリングできない IDE を持っています。さらに、コンストラクター、特にコピー コンストラクターを特別な役割のために目立たせたいと考えています。
したがって、C++ クラス定義を次のようにプログラムすることを目指しています。
そのために、現在、3 つの #define 行をコピーして貼り付ける必要があります。私はむしろそれらを自動的に行いたいです。プリプロセッサを使用してこれを実現する方法はありますか?
c - acファイルの関数名を見つけるCプログラム
C (Linux OS) でプログラミングしています。ファイルを読み取り、そのファイル内の関数をチェックして、対応する関数名を出力する必要があります。これまでのところ、「{」の深度計算を使用して関数を識別するようにプログラムしました。__FUNCTION__
現在のファイルの関数名を出力するためにプリプロセッサ ディレクティブが使用されていることは知っています。同様に、読み取ったファイルの関数名を見つけるためのプリプロセッサ ディレクティブはありますか? 特定のツールについては心配していません。プログラムしてもらいたい。よろしくお願いします。前もって感謝します。
このコードを実装しようとしました。この関数は、行 ('{' の前に来る) を引数として取ります。
このコードが正しいかどうかわかりません。このまま使おうかな。関数名を見つけるオプションはありますか?
c# - VS2010 パブリッシング プリプロセッサ ディレクティブ
ClickOnce を使用して発行するときにプロジェクトをビルドするときに使用できるプリプロセッサ ディレクティブはありますか? そうでない場合、この機能を提供できるビルド スクリプトまたはマクロはありますか?
例:#if PUBLISHING ... #endif
c# - #ifDEBUG以外のディレクティブのプリプロセッサディレクティブ
これを行うことで、プリプロセッサディレクティブを使用してデバッグ/リリースをチェックできることを知っています。
しかし、テストなどの他の構成をチェックするのはどうでしょうか。VBでは、これを行うことができます。
だから、私の質問はC#ですが、どうすればテストモードを確認できますか?デバッグとテストを行っているがリリースモードではない場合に実行したいコードがいくつかあるので、具体的には、リリースモードでないことを確認する方法が必要です。VBではこれを行います:
c++ - C++は用語ごとにファイルを含める
VC++環境内にプログラムがあるとします。このプログラムは、別のオペレーティングシステムで特定のコードを使用するために、それ自体を変更する必要があります。
たとえば、プログラムが実行するコードを変更し、実行するコードを変更A
するWindows XP
とWindows 7
しますB
。ファイルにあるアクションのコードとA
ファイルにあるアクションのコード。"a.h"
B
"b.h"
オペレーティングシステムを検出することを目的とした関数があるとしましょう。OSを検出してファイルの1つだけをロードしたい場合、機能のアクティブ化などの用語でファイルを含めるにはどうすればよいですか?
c - ctypes からプリプロセッサ ディレクティブを渡すにはどうすればよいですか?
プリプロセッサ ディレクティブにラップされた C コードがいくつかあります。
ctypesを介してPythonから実行する必要do stuff
があります-定義できる方法はありますTEST
か?
c++ - C++ のマクロとプリプロセッサ ディレクティブの違いは何ですか?
重複の可能性:
マクロとプリプロセッサの違い
C++ のマクロ ディレクティブとプリプロセッサ ディレクティブについて質問があります。それらの違いは何ですか? それらは多かれ少なかれ同じように見えますか?ネットで調べてみたのですが、よくわかりません、どなたか教えていただけないでしょうか?