問題タブ [preprocessor]

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 に答える
5782 参照

asp.net - ASPX/ASCXページの「#ifDEBUG」

VS2005 IDEで選択したモード(DEBUGまたはRELEASE)に基づいて、2つのアセンブリのいずれかを指すことができるようにしたいと思います。このようなもの(これは機能しません):

だから、私の質問は:ASPXまたはASCXページで#if DEBUGを正しく使用するにはどうすればよいですか?

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

visual-studio - dumpbin で示されるように、WINVER または WIN32_WINNT がオペレーティング システムのバージョンに与える影響

最近 VC6 から VS2008 に変換した既存の (古い) コードラインがあります (途中で VS2005 に変換しています)。変換後、すべて (またはほとんど) の vcproj ファイルで、プリプロセッサ設定を使用して WINVER を 0x0500 に設定しました。かなりの数のプリコンパイル済みヘッダー (通常は stdafx.h) で、WINVER は 0x0500 に設定されています (まだ 0x0400 に設定されているものもあります)。メインの exe で dumpbin /headers を使用すると、オペレーティング システムのバージョンが 5.0 (Windows 2000) であることが示されます。

WINVER と WIN32_WINNT が 0x0501 になるように vcproj プリプロセッサ設定を変更し、stdafx.h ファイルで同様の変更を行って再構築した後、dumpbin stil はオペレーティング システムのバージョンが 5.0 であることを示します。

また、VS2008 を使用して新しいコンソール アプリ (および新しい MFC アプリ) を作成し、ビルドしました。targetver.h ファイルで設定された WINVER (および WIN32_WINNT) が 0x0600 であっても、これらの exe ファイルはオペレーティング システムのバージョンが 5.0 であることも示しています。

WINVER および/または WIN32_WINNT を 0x0501 または 0x0600 に設定すると、dumpbin によって表示されるオペレーティング システムのバージョンに何らかの影響があると思いました。WINVER および/または WIN32_WINNT に対応するオペレーティング システムのバージョンが dumpbin に表示されることを期待する必要がありますか?

これに関するいくつかの良い記事を読みました (msdn の「Windows ヘッダーの使用」、The Old New Thing の「WINVER との違いは何ですか...」、特に興味深い記事: http://blogs.msdn.com /dsvc/archive/2009/06/19/troubleshooting-not-a-valid-win32-application-error-at-the-startup.aspx

オペレーティング システムのバージョン フィールドに正確にどのバージョンが表示されるかはおそらく大きな問題ではありませんが、動作を理解し、これらのマクロと設定を正しく使用していることを確認するために「正しい」ことを実行できるようにしたいと考えています。

助けてくれてありがとう

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

java - Annotation Processor for Java でメソッド呼び出しのクラスを発見する

特定の注釈を含むクラスに属するメソッドにいくつかの厳密な呼び出し規則を適用するために、ビルド システム用のいくつかのツールを作成しています。

コンパイラ ツリー API を使用しています...

私が疑問に思っているのは、「ツリー」をトラバースするときに、MethodInvocation のクラス/インターフェイスのタイプをどのように伝えることができるかということです。

TreePathScanner を次のようにサブクラス化しています:

メソッドを呼び出そうとしているクラス(またはインターフェイス)のタイプを伝える方法があることを願っています。私はこれについて間違った方法で進んでいますか?アイデアをありがとう...

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

asp-classic - VBScript/Classic ASP のその他のプリプロセッサ ディレクティブはありますか?

VBScript/Classic ASP について私が知っている唯一の前処理ディレクティブは #include です。それが正式な名前かどうかはわかりませんが、基本的には、一般的な VBScript の前にコードまたはその他の命令を実行できるコードを探しています。

VBScript に他のそのようなディレクティブはありますか? #If とか?

特定のインクルード ファイルを条件付きで含めたり除外したりできるようにしたいと考えています。

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

iphone - iPhoneプラットフォームを検出するための組み込みのプリプロセッサトークン

ビルド時にiPhoneデバイスまたはシミュレーターを検出するために使用できる単一のプリプロセッサートークンはありますか?私は現在使用しています:

これは推奨されるアプローチですか、それともより良い方法がありますか?マクロを組み込み、つまり、インクルードする必要のあるSDKヘッダーファイルではなく、コンパイラーによって定義することをお勧めします。

今のところiPhoneOSのバージョンを区別することについては心配していませんが、関連するすべてのマクロの詳細が記載されたAppleのドキュメントページがあり、それらが定義されている場合と定義されていない場合は、検索が行われたので、そのマクロへのリンクをいただければ幸いです。これまでのところ短くなっています。

ありがとう!

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

visual-studio - VS2008:stdafx.hで定義されたシンボルをリソースコンパイラから見えるようにするにはどうすればよいですか?

私はVS2008の下でVC++プロジェクトに取り組んでいます。私のリソースファイルには、条件付きコンパイル用のプリプロセッサディレクティブがいくつか含まれています。条件付きコンパイルを制御するシンボルのいくつかは、で定義されていstdafx.hます。これらのシンボルをリソースコンパイラにも表示する必要があります。どうすればこれを実現できますか?

0 投票する
12 に答える
1811 参照

c# - C/C++/ObjC 以外の言語でプリプロセッサの使用が一般的でないのはなぜですか?

私は Java および VB.Net プログラマーとして約 4 年間、C# プログラマーとして約 6 か月間働いています。また、Perl、Python、PHP、JavaScript などの一連の動的言語も使用しました。

プリプロセッサが必要になったことは一度もありません。

私の質問は、C、C++、および Objective-C ではプリプロセッサがこれほど広範囲に使用されているのに、Java、C#、または Scala などの言語ではめったに (またはまったく) 見られないのはなぜですか?

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

sql - [My]SQL にはプリプロセッサのような機能がありますか?

初めてのデータベース駆動型アプリ用の小規模な展開 SQL スクリプトを作成しています。

その過程で、私は自分自身を何度も繰り返すことに気づきまし。例えば:

変数またはマクロを使用して、よく発生するデータを置き換えることができれば素晴らしいと思います。次のスニペットのようなものを実装することは可能ですか?

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

ant - 同じコードベースから J2ME および J2SE アプリケーションをコンパイルする最良の方法は何ですか?

J2ME と J2SE の両方のアプリを構築しようとしています。プレゼンテーション コードは明らかに異なりますが、ロジックはできるだけ共通に保ちたいと考えています。

私の計画は、Ant または Antenna のプリプロセッサを使用して、J2ME または J2SE Graphics オブジェクトのいずれかを選択し、そのクラスが私のロジックと表示コードの間の唯一の共通部分になるようにすることです。必要なのは、Ant/Antenna のビルド タスク中にいくつかのファイルで 1 行または 2 行のインポートを交換することだけです。

この設定方法についてアドバイスをいただきたいです。

私は現在、J2ME と J2SE の 2 つの Eclipse プロジェクトを持っています。プリプロセッサをセットアップする方法について、いくつかのアイデアがあります。

  • J2SE コードをデフォルトにし、J2SE コードのみを前処理して、J2SE 固有のインポートをスワップします。

  • J2ME プロジェクトと J2SE プロジェクトの両方にアンテナ プリプロセッサを使用する

  • Ant テキスト置換を使用して、必要なソース変更を行います

    私。正しく設定するのが難しい
    ii. 少しぎこちなく感じる
    iii. いくつかの条件付きインポートよりもはるかに多くを使用する必要があるとは思わないので、それほど悪くはないようです。

誰もこのようなことを経験したことがありますか?アドバイスをいただければ幸いです。