#pragma onceいつでも機能する必要性を私は理解していません#ifndef #define #endif。
他のファイルとリンクするための使用法を見てきました#pragma commentが、コンパイラ設定のセットアップはIDEを使用した方が簡単でした。
それの他のいくつかの使用法#pragmaは有用ですが、広く知られていませんか?
編集:
#pragmaディレクティブのリストの直後ではありません。おそらく、この質問をもう少し言い換える必要があります。
一緒に書いたコードは#pragmaどれが役に立ちましたか?
。
一目で答え:
回答および/またはコメントしてくれたすべての人に感謝します。これが私が有用だと思ったいくつかの入力の要約です:
- Jasonは、大規模システムでのコンパイルを高速化すること
#pragma onceを提案しました。#ifndef #define #endifスティーブは飛び込んでこれをサポートしました。 - 280Z28は一歩進んで、MSVCに適していると述べました
#pragma onceが、GCCコンパイラはに最適化されてい#ifndef #define #endifます。したがって、両方ではなく、どちらかを使用する必要があります。 - Jason
#pragma packはバイナリ互換性についても言及しましたが、移植性とエンディアンの問題が発生する可能性があるため、Cliffordはこれに反対しています。Evanはサンプルコードを提供し、Dennisは、ほとんどのコンパイラが整列のためにパディングを強制することを通知しました。 - sblomは
#pragma warning、実際の問題を切り分け、すでに確認されている警告を無効にするために使用することを提案しました。 - Evanは
#pragma comment(lib, header)、IDEを再設定せずに、プロジェクト間で簡単に移植できるようにすることを提案しました。もちろん、これはあまり移植性がありません。 - sbiは、
#pragma messageVCユーザーが行番号情報を含むメッセージを出力するための優れたトリックを提供しました。Jamesはさらに一歩進んで、MSVCのメッセージを許可errorまたは照合し、エラーリストなどの適切なメッセージを表示します。warning - Chrisは
#pragma region、MSVCでカスタムメッセージを使用してコードを折りたたむことができるように提供しました。
おっと、待って、必要な場合を除いて#pragmasを使用しないことについて投稿したい場合はどうすればよいですか?
- クリフォードは、使用しないことについて別の観点から投稿しました
#pragma。称賛。
SOersが回答を投稿したいという衝動を感じたら、このリストにさらに追加します。みんな、ありがとう!