問題タブ [pragma]
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++ - GCC 4.1.1 でファイル内の個々の関数を最適化する方法は何ですか?
さまざまな C / C++ コンパイラには#pragma
、最適化を制御する があります。
例えば:
コードウォリアー
MSVC
純粋にパフォーマンス上の理由から、他の方法では最適化されていないデバッグ ビルドを含め、すべてのビルドで最適化する必要がある関数がいくつかあります。
GCC (具体的には 4.1.1) でこれらの他のコンパイラと同様のことを行う方法はありますか? 残念ながら、ターゲット プラットフォーム (専用ハードウェア) では GCC 4.4 がサポートされていないため、optimize 属性を使用できません__attribute__((optimize(...)))
。
また、このターゲット プラットフォームのツールチェーンには、自動一括ビルド ツールがあります。そのため、関数を別のファイルに分割して最適化パラメーターを変更することもできません。これは、プロジェクト内のファイルを自動的に組み合わせてコンパイルとリンクの速度を上げることができるためです。分割方法を実行するには、これらの関数だけの別のライブラリを作成し、それをリンクする必要があります。これは、特にこれを達成するためのより簡単な方法がある場合は、価値があるよりもかなり苦痛になる可能性があります.
visual-studio - #pragma comment(lib, ...) を無視しますか?
以前に生成された .obj ファイルのリンクを実行しようとしています (最新バージョンの MSVC を使用)。
これらの .obj が作成されたとき、ソース コードは次のように指定されました。
そのため、リンカーはソースで指定された静的ライブラリに対してリンクしようとしています。これらのライブラリを無視するようにリンカに指示して、独自のライブラリを指定できるようにする方法はありますか?
たとえば、ソースの一部が次のことを行った場合:
リンク時に、リンカが 'foo.lib' を無視し、代わりに 'bar.lib' に対してリンクするようにします。
c# - #pragma警告無効化コードとその意味のリスト
警告を無効にするための構文は次のとおりです。
または、より一般的に表現されます:
これらの数値コードのリストと、それらが抑制している警告の説明はありますか?残念なことに、Googleでそれを見つけることができないようです。
visual-c++ - VC++ コンパイラ: 現在の警告レベルまたはオーバーライドを確認する方法は?
警告 C4244 (データ損失の可能性) が抑制されていることを発見したばかりのプロジェクトがあります。一部の厄介な MS ヘッダーがこの警告を抑制し、そのヘッダーを含むすべての翻訳単位に対して抑制されたままになっているのではないかと強く疑っていますが、無数のヘッダーのどれに問題があるかはわかりません。
したがって、他のプログラミングの問題と同様に、バイナリ検索を実行して、現在の警告レベルを出力し、可能であればメインのプリコンパイル済みヘッダーで抑制された警告を出力したいと思います。
私がどのコンパイラディレクティブを使用するか、またはその情報を得るためにどのようなアプローチを取ることができるかを知っている人はいますか?
発信者がコントラクトに違反し、署名されたバイトの代わりに整数を送信しようとしたときに、ヘッダーで慎重に構築された型宣言がコンパイラの警告を出さないことがどれほど不快であるかはわかりません (これにより、私が解決しようとしている現在のバグ)。
考え?
ノート:
ソリューション全体で #pragma を検索すると、#pragma warning(disable:xxxx) とそれに続く #pragma warning(default:xxxx) のバランスの取れた宣言のみが表示されます。そして、それらのどれも 4244 を参照していません。
ソリューション全体で 4244 を検索すると、一致が返されません (その警告をオーバーライドしたり、含まれているライブラリやサブプロジェクトなどをオーバーライドしたりすることはありません)。
MS インクルード パス全体で 4244 を検索すると、呼び出し前に設定された #define シンボルに応じて、バランスが取れているか、ほぼバランスが取れているように見えるいくつかの参照が返されます。したがって、MSに問題があるという私の疑い(MSがヘッダーでずさんな作業をしているという以前の履歴と組み合わせて)。
xcode - Xcode - #pragma マークの使用
これは重複していないと確信しています。#pragma マークを使用していますか? 複数の方法を見てきましたが、どれが正しいですか?
あなたはそれを行う方法は何ですか?どのように分割することをお勧めしますか?たとえば、View Controller など、通常はセクションに何と名前を付けますか?
c++ - #pragma optimize( "a" ) を含むコードを VC++7 から VC++9 に移植するにはどうすればよいですか?
C++ コードベースを Visual Studio 2k3 から Visual Studio 2k8 に移動しています。コードに含まれるもの
MSDN によると、これは「エイリアシングを想定しない」という意味です。VS のそれ以降のバージョンはこれをコンパイルすることを拒否し、MSDN はこの #pragma を含むコードをどうするかを述べていないようです。
「エイリアシングを想定しない」とはどういう意味ですか? また、このコード行をどうするかを決定するにはどうすればよいですか?
visual-studio - Visual Studioで特定の例外のスロー時に壊れないようにする方法はありますか?
CLR 例外がスローされたときにブレークするように [デバッグ] >> [例外] メニューの下にあるにもかかわらず、デバッガーが特定の例外のスロー時にブレークしないようにするプラグマまたはデバッガー属性はありますか?
一般に、開発中は、デバッグ中に例外で中断して、すぐに検査できるようにするのが好きです。このコード ブロックが時折例外をスローすることが知られているいくつかの孤立したケースがあり、私はそれを try-catch で処理しました。try-catch が最も正しい状況であるというコンセンサスが得られたこの質問への回答を参照してください。
メソッドでスローされた例外を無視するだけの属性 (System.Diagnostics.DebuggerHiddenAttribute に類似したもの) をメソッドに設定できるようにしたいと考えています。
ところで、私は現在 Visual Studio 2008 でこれを経験していますが、すべてのバージョンに答えがあるか、まったく答えがないかのどちらかだと思います。
c# - テンプレートコードの行番号をC#の行番号に一致させるために生成されたC#コードの#pragmaまたは同様のディレクティブはありますか?
古いスタイルのASPコードに似たテンプレートシステムがあります。これを、全体をC#ソースコードに書き換え、コンパイルし、最後に実行するクラスで実行します。
私が疑問に思っているのは、生成されたC#コードにコンパイルエラーをテンプレートファイルの行番号と一致させるような#pragmaのようなディレクティブがあるかどうかです。
たとえば、テンプレートコードに次の最初で唯一の行があるとします。
しかし、これをコンパイルするには、名前空間、クラス、メソッド、およびボイラープレートコードを追加する必要があるため、テンプレートファイルの1行目である上記の行は、実際には17行目になります。 (ランダムな数字、説明のためだけに)C#コード。コンパイラエラーは、当然、エラーが1行目ではなく17行目にあることを示すフラグを立てます。
以前に使用した別のプログラミング言語から(どれを思い出せないのですが)、追加できるディレクティブがあり、エラー行番号が並ぶことを覚えています。
C#3.5にそのようなものはありますか?