問題タブ [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.
c++ - C ++での__FILE__、__ LINE__、および__FUNCTION__の使用法
お使いのC++コンパイラがそれらをサポートしていると仮定して、ログとデバッグの目的で、を使用しない特別な理由はありますか?__FILE__
__LINE__
__FUNCTION__
私は主に、ユーザーに誤解を招くデータを提供すること(たとえば、最適化の結果として誤った行番号や機能を報告すること)、または結果としてパフォーマンスに影響を与えることに関心があります。
基本的に、私は信頼できますか__FILE__
、__LINE__
そして常に正しいこと__FUNCTION__
をすることができますか?
c# - / unsafeフラグに対応する「プリプロセッサ」シンボルはありますか?
私はWriteableBitmap
C#でを扱っています。現在、安全でないコードブロックを使用して、を介してピクセルに直接アクセスしていWriteableBitmap.BackBuffer
ます。/unsafe
ただし、オプションに依存したくないので、WriteableBitmap.WritePixels
代わりに使用することを検討しています。
プロジェクトファイルへの手動統合を必要とせずに、コンパイルの/ unsafeオプションが使用されたときに使用できるように、「安全でない」バージョンで条件付きでコンパイルする方法はありますか?
要するに、私は次のようなものを探しています。
実行時の検出も優れています。しかし、それは私が常にでコンパイルする必要があることを意味し /unsafe
、それはライブラリコードがプロジェクトファイルの更新を必要とすることを意味し、それはあまり便利ではありません。
基本的には、重要なときに備えて高速バージョンを維持したいのですが、何があっても機能する合理的なバージョンを用意しています。
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」に新しい行を含めるのを忘れた可能性がありますか?
c++ - C++ 演算子 new を置き換えるマクロ
のすべての形式を、operator new
追加の引数を含むオーバーロードに置き換えるマクロを作成することは可能ですか?__FILE__
__LINE__
問題はoperator new
、括弧の有無にかかわらずコーディングできるように思われるため、次のとおりです。
オブジェクトのようなマクロ:
次のような宣言を置き換えます。
/li>および関数のようなマクロ:
次のような宣言を置き換えます。
/li>
残念ながら、同じ識別子で2 つのマクロを宣言しようとすると、型が異なっていてもエラーになるため、次の例では失敗します。
私は g++ を使用しているので、可変引数マクロの構文を使用すると成功することを期待していましたが、残念ながらそうではありませんでした。以下:
のみ一致new(xyx) A()
し、一致しませんnew A()
。
なぜそれが不可能なのかについてのエッセイが書かれていることは知っていますが、私は非常に近いので、方法があるに違いないと感じています. 私が行方不明であることは明らかですか?
c - Cで「#define FOO FOO」と言うポイントは何ですか?
作者があちこちで次のイディオムを使用しているCコードに出くわしました。
これを行うポイントは何ですか?typedef で十分ではないでしょうか。それはいくつかの不安定なCコンパイラの回避策ですか?
c++ - #includeディレクティブ:どこに関連しますか?
私はこれに対する答えを見つけるためにC++プログラミング言語を調べました。ヘッダーに#include "my_dir/my_header.hpp"
入ると、このファイルはどこで検索されますか?ヘッダーに関連するのか、それを含むソースファイルに関連するのか、それとも他の何かに関連するのでしょうか。
c++ - マクロで使用できるトリックは何ですか?
従来のコードと最新のコードでは、マクロを使用してコード生成などの気の利いたソリューションを実行します。また、演算子#
と演算子の両方を使用し##
ます。
他の開発者がマクロを使用してクールなことを行う方法に興味があります。
c++ - マクロと Visual C++
Windows プログラミング ライブラリを参照して、最新のC++ および Visual C++ でマクロがどのような場所 (存在する場合) を持っているかをよりよく理解しようとしています。それらを使用していますか?
このブログ投稿で、 Google Chrome のマクロ用の WTL の使用 (とりわけ) について読んだことを覚えています。それらは MFC でも使用されています。これは、そのブログ投稿のマクロの例です。可能であれば詳細:
MSDN でマクロに関するこれらの 記事を読んだことがありますが、マクロの作成または回避のベスト プラクティスと、いつどこでマクロを使用するかについても取り上げようとしています。