問題タブ [c-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 投票する
6 に答える
274264 参照

c++ - C ++での__FILE__、__ LINE__、および__FUNCTION__の使用法

お使いのC++コンパイラがそれらをサポートしていると仮定して、ログとデバッグの目的で、を使用しない特別な理由はありますか?__FILE____LINE____FUNCTION__

私は主に、ユーザーに誤解を招くデータを提供すること(たとえば、最適化の結果として誤った行番号や機能を報告すること)、または結果としてパフォーマンスに影響を与えることに関心があります。

基本的に、私は信頼できますか__FILE____LINE__そして常に正しいこと__FUNCTION__をすることができますか?

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

c# - / unsafeフラグに対応する「プリプロセッサ」シンボルはありますか?

私はWriteableBitmapC#でを扱っています。現在、安全でないコードブロックを使用して、を介してピクセルに直接アクセスしていWriteableBitmap.BackBufferます。/unsafeただし、オプションに依存したくないので、WriteableBitmap.WritePixels代わりに使用することを検討しています。

プロジェクトファイルへの手動統合を必要とせずに、コンパイルの/ unsafeオプションが使用されたときに使用できるように、「安全でない」バージョンで条件付きでコンパイルする方法はありますか?

要するに、私は次のようなものを探しています。

実行時の検出も優れています。しかし、それは私が常にでコンパイルする必要があることを意味 /unsafe、それはライブラリコードがプロジェクトファイルの更新を必要とすることを意味し、それはあまり便利ではありません。

基本的には、重要なときに備えて高速バージョンを維持したいのですが、何があっても機能する合理的なバージョンを用意しています。

0 投票する
4 に答える
3762 参照

c# - 1 つのプロジェクトで異なる DLL を作成するにはどうすればよいですか?

解決できるかどうかわからない質問があります。Visual Studio 2005 に 1 つの C# プロジェクトがあり、プリプロセッサ定数に応じて異なる DLL 名を作成したいと考えています。この時点で私が持っているのは、プリプロセッサ定数、2 つの snk ファイル、および 2 つのアセンブリの GUID です。また、2 つの構成 (デバッグとデバッグ プリプロセッサ) を作成し、適切な snk と guid を使用して完全にコンパイルします。

ここで、2 つのアセンブリを GAC に配置する必要があります。最初のアセンブリは問題なく追加されますが、2 番目のアセンブリは追加されません。

1 つの Visual Studio プロジェクトから 2 つ以上の異なるアセンブリを作成するにはどうすればよいですか?

プリプロセッサ定数に応じて DLL 名を変更するために、「AssemblyInfo.cs」に新しい行を含めるのを忘れた可能性がありますか?

0 投票する
7 に答える
17957 参照

c++ - C++ 演算子 new を置き換えるマクロ

のすべての形式を、operator new追加の引数を含むオーバーロードに置き換えるマクロを作成することは可能ですか?__FILE____LINE__

問題はoperator new、括弧の有無にかかわらずコーディングできるように思われるため、次のとおりです。

  • オブジェクトのようなマクロ:

    次のような宣言を置き換えます。

    /li>
  • および関数のようなマクロ:

    次のような宣言を置き換えます。

    /li>

残念ながら、同じ識別子で2 つのマクロを宣言しようとすると、が異なっていてもエラーになるため、次の例では失敗します。

私は g++ を使用しているので、可変引数マクロの構文を使用すると成功することを期待していましたが、残念ながらそうではありませんでした。以下:

のみ一致new(xyx) A()し、一致しませんnew A()

なぜそれが不可能なのかについてのエッセイが書かれていることは知っていますが、私は非常に近いので、方法があるに違いないと感じています. 私が行方不明であることは明らかですか?

0 投票する
4 に答える
851 参照

c - Cで「#define FOO FOO」と言うポイントは何ですか?

作者があちこちで次のイディオムを使用しているCコードに出くわしました。

これを行うポイントは何ですか?typedef で十分ではないでしょうか。それはいくつかの不安定なCコンパイラの回避策ですか?

0 投票する
6 に答える
32706 参照

c++ - #includeディレクティブ:どこに関連しますか?

私はこれに対する答えを見つけるためにC++プログラミング言語を調べました。ヘッダーに#include "my_dir/my_header.hpp"入ると、このファイルはどこで検索されますか?ヘッダーに関連するのか、それを含むソースファイルに関連するのか、それとも他の何かに関連するのでしょうか。

0 投票する
25 に答える
15665 参照

c++ - マクロで使用できるトリックは何ですか?

従来のコードと最新のコードでは、マクロを使用してコード生成などの気の利いたソリューションを実行します。また、演算子#と演算子の両方を使用し##ます。

他の開発者がマクロを使用してクールなことを行う方法に興味があります。

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

c++ - マクロと Visual C++

Windows プログラミング ライブラリを参照して、最新のC++ および Visual C++ でマクロがどのような場所 (存在する場合) を持っているかをよりよく理解しようとしています。それらを使用していますか?

このブログ投稿で、 Google Chrome のマクロ用の WTL の使用 (とりわけ) について読んだことを覚えています。それらは MFC でも使用されています。これは、そのブログ投稿のマクロの例です。可能であれば詳細:

MSDN でマクロに関するこれらの 記事を読んだことがありますが、マクロの作成または回避のベスト プラクティスと、いつどこでマクロを使用するかについても取り上げようとしています。