問題タブ [compiler-directives]

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 投票する
2 に答える
3652 参照

delphi - コンパイラ指令-Delphiバージョン

しばらく前にDelphi7で書いたユニットがあり、Delphi XE(Unicode)に変換するのが楽しく(苦痛)なりました。

ユニットは問題が発生した後も正常に動作します。他のコードを更新しているときにIDEをDelphi7に戻す必要が生じた場合に備えて、このユニットをさまざまなDelphiバージョンと互換性を持たせようとしています。

私はDelphi7とDelphiXEしか持っていませんが、Delphi1で記述されたコードを収集したものからDelphi2007まではコンパイルされますが、Delphi2009以降のコードはUnicodeになります。

...とにかく、ユニットでは、非ユニコードとユニコードを次のように分離しています:

ルールがマルチバージョンに適用されるようにコンパイラ指令を変更するにはどうすればよいですか?たとえば、次のようなものです。

ソースまたは.dcuユニットを配布する場合、これはすべてのDelphiバージョンをカバーします。

ありがとう。

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

asp.net-mvc-3 - RAZOR/MVC 3 のビューに相当する前処理

に相当するものを探しています

MVC3/Razor のビュー用。このタイプのセットアップを実装するための慣用的な方法は何ですか?

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

delphi - {$ C PRELOAD}ディレクティブの意味は何ですか?

このディレクティブがControls.pas(および他のユニット)で宣言されているのを見つけました。それが何を意味するのかを知ってうれしく思います。

私の知る限り、$ Cはアサーション制御を意味しますが、PRELOADキーワードとは何ですか?「プリロード時にアサートして」のようなものですか?

Delphi2009でこれを見つけました

ありがとうございました

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

string - 短い文字列の Delphi コンパイラ ディレクティブが機能しない?

プロジェクトを Delphi 4 から Delphi XE2 に移植しようとしています。shortstringプロジェクトで使用する要件があります。Delphi ヘルプによると、$H- は、コンパイラがstring型に短い文字列を使用するようにする必要があります。このディレクティブを使用しましたが、違いはありません。私は小さなテストプログラムを書きました:

私の意見では、出力は両方で同じである必要がありstrshortコンパイラは両方をshortstring. ただし、サイズは 4strと 256 ですshort。ソースコード内のすべての出現を置き換える唯一の解決策 として、コンパイラに処理stringさせる他の方法はありますか?shortstringstringshortstring

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

.net - デバッグ/テスト中にアプリケーションが外部と通信するのを防ぐ方法は?

共通のデータベースを共有する 2 つの別個のアプリケーション (どちらも同じシステムの一部) があります。1 つのアプリケーションは、外界との通信を担当する「ゲートウェイ」であり、もう 1 つは、LAN 上のローカル ユーザーがローカル データベース内のデータの読み取り/変更/更新に使用するデスクトップ クライアントです。

特定の間隔で、ゲートウェイ アプリケーションは、さまざまな Web サービスから新しいデータをローカル データベースにダウンロードします。同様に、ゲートウェイ アプリケーションはローカル データベースへの変更 (ユーザーがデスクトップ クライアント経由で行ったもの) をスキャンし、それらの変更を適切な Web サービスにアップロードします。

2 つのデータベースが使用されています。1 つは本番用、もう 1 つはテスト/デバッグ用です。ゲートウェイは、app.config の接続文字列を変更することで、2 つの間で切り替えます。

ゲートウェイ アプリケーションをテストするときは、読み取り専用で動作させたいと考えています。つまり、新しいデータを (テスト/デバッグ) データベースにダウンロードすることはできますが、変更を Web サービスにアップロードして戻すことはできません。

これを実現する方法は、アプリケーションが次のようにデータをアップロードする場所で #IF DEBUG ディレクティブを使用することです。

この方法は、コードが何らかの種類の変更をアップロードできるすべての場所で debug ディレクティブを使用することを覚えていることに依存しています。

この種のことを行うためのより良い/代替方法はありますか?

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

c - 定数の一部を置き換えるコンパイラ ディレクティブはありますか

私は現在、マイクロコントローラ用の組み込み C を使用していますが、文字が 1 つだけ異なるペリフェラルがいくつかある場合があります (たとえば、UARTA、UARTB など)。各ペリフェラルのコードは、他の点では同一のレジスタの文字を除いて、多くの場合同一です。たとえば、周辺 AI をセットアップするには、次のようにします。

また、ペリフェラル BI をセットアップするには、レジスタ名が 1 文字だけ置き換えられていることを除いて、まったく同じコードを使用します。

#ifdef/コードのコピー/貼り付けや検索/置換を行わなくても、ターゲットとする周辺機器を変更できるようにしたいと考えています。この動作を実装できるコンパイラ ディレクティブまたは巧妙なトリックがあり、コードを 1 回だけ記述する必要がありますか? 周辺機器の最後の文字を #define したいのですが、そのようなものはコードの悪臭に危険なほど近づきそうです。

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

iphone - @class が object-c で使用される理由

重複の可能性:
@class これの正しい使い方を教えてください

なぜ @class が使用されるのか疑問に思っています。呼び出すクラス内のものにアクセスできることは一般的に理解していますが、その利点はわかりません..

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

c# - iPhone Simulator の MonoTouch コンパイラ ディレクティブ

iPhone シミュレーターで実行しているかどうかを確認するために MonoTouch で使用するコンパイラ ディレクティブを知っている人はいますか? どこにも情報が見つかりません。

ありがとう!

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

c# - コードの省略:条件付き属性と前処理ディレクティブの違いはありますか?

違いは何だろうか

当たり前のことかもしれませんが、誰かが正しい方向へのヒントをくれたら、ありがたいです:)

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

c - 関数がコンパイラで利用可能かどうかを確認する方法は?

関数がコンパイラに組み込まれている場合、コンパイル時に検出する方法はありますか? たとえば、次のようなものです。

前もって感謝します。