問題タブ [compiler-flags]

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

c++ - boost::tokenizer から反復子を取得すると、msvcp90d.dll でクラッシュする

boost::tokenizer の begin() イテレータを取得すると、msvcp90d.dll でクラッシュが発生し、「ITERATOR LIST CORRUPTED」と表示されます。これは、_HAS_ITERATOR_DEBUGGING コンパイラ フラグで以前に遭遇した問題のように疑わしいように見えますが、このフラグをオフにしてプログラムがコンパイルされていることを確認しました。

プログラムは次のとおりです。

興味深いことに、トークナイザーのインスタンス化を次の行に置き換えると、機能します。

そのため、ostringstream に関連するものと思われます。何か案は?

0 投票する
5 に答える
843 参照

gcc - Linux に付属の grep よりも遅いビルドの grep

私が構築したgrepがシステムに付属するものよりもはるかに遅い理由を理解しようとしており、システムに付属しているgrepで使用されるコンパイラオプションを見つけようとしています。

OS バージョン: CentOS リリース 5.3 (最終) システム上の grep:

私が作成したgrep:

大きなリスト テキスト ファイルに対して正規表現検索を実行すると、システム grep のパフォーマンス (330 ミリ秒) は、私が構築した grep (22430 ミリ秒) よりもはるかに高速です。

以下は、私が時間を計るのに使用したコマンドです..

また

システム grep は明らかに、パフォーマンスに大きな違いをもたらすいくつかの最適化オプションを使用しています。

システム grep がどのオプションで構築されているかについて、誰かが私を助けてくれますか?

これは、ビルド時のソース ファイルの 1 つのコンパイル オプションです。
gcc -DLIBDIR=\"/usr/local/lib\" -DHAVE_CONFIG_H -I. -I.. -I.. -I. -I../intl -g -O2 -MT xstrtol.o -MD -MP -MF .deps/xstrtol.Tpo -c -o xstrtol.o xstrtol.c

./configure の出力:

ありがとう、クマール

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

python - Pythonスクリプトから「CFLAGS='my-flags-here'をエクスポートする方法」

必要に応じて環境CFLAGSを設定する必要があるPythonプログラムを書いています。

サブプロセスモジュールを使用していくつかの操作を実行していますが、これが正しい方法かどうかはわかりません。

スクリプトは最初にCFLAGSを設定し、次にいくつかのコードをコンパイルするため、コードがコンパイルされている間、cflagsはそのままにしておく必要があります。

os.environ['CXXFLAGS']私のシステムにはデフォルトで「」が設定されているものがあることを知っています。だから私の質問は、os.environ['CXXFLAGS']コードをコンパイルする前に値を設定する必要があるのか​​、それとも他の方法で設定する必要があるのか​​ということです。

お知らせ下さい

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

visual-studio-2008 - Visual Studio C++ コンパイラ フラグ: -Zm200 とは?

私は C++ 開発に Qt を使用しており、今日は .pro ファイルから .vcproj ファイルを作成しました。

vcproj プロジェクトのプロパティで、Qt がこのフラグを C/C++ -> コマンド ライン -> 追加オプションに追加したことに気付きました。

-Zm200とは?

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

c# - C#の数値に対するコンパイラのフラグ設定とは?

C#の数値に対するコンパイラのフラグ設定とは? この作品の利点は何ですか?この概念が理解できません。

0 投票する
8 に答える
1607 参照

c++ - 特定のマシンで最速の exe のコンパイラ オプションを自動的に見つけますか?

(特定のマシンで) 最適なコンパイラ オプションを自動的に見つけて、実行可能ファイルを最速にする方法はありますか?

当然、私は を使用しますg++ -O3が、コードの実行を高速化する追加のフラグがあります。たとえば-ffast-math、ハードウェアに依存するものもあります。

configure.acコマンドによってフラグが Makefile に自動的に追加されるように、ファイル (GNU autotools) に入れることができるコードを誰かが知っています./configureか?

最適なフラグを自動的に決定することに加えて、ほとんどの最適化された実行可能ファイルのデフォルトとして使用するのに適した、いくつかの便利なコンパイラ フラグに興味があります。

更新:ほとんどの人は、さまざまなフラグを試して、経験的に最適なものを選択することを提案しています。その方法については、フォローアップの質問があります: 私が実行しているマシンで可能なすべてのコンパイラ フラグを一覧表示するユーティリティはありますか (たとえば、SSE 命令が使用可能かどうかのテストなど)?

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

c++ - C++-malign-doubleコンパイラフラグ

C++のコンパイラフラグについて助けが必要です。WindowsからLinuxへの移植であるライブラリを使用しています。このライブラリは、「Win32互換性のために」-malign-doubleフラグを使用してコンパイルする必要があります。これは、絶対にこのフラグを使用して自分のコードをコンパイルする必要があることを意味することを理解していますか?他の.so共有ライブラリはどうですか?それらもこのフラグで再コンパイルされていますか?もしそうなら、これを回避する方法はありますか?

私はLinux初心者(およびc ++)なので、プロジェクトに使用しているすべてのライブラリを再コンパイルしようとしても、すべてのライブラリとそれらが依存しているライブラリのソースを再帰的に見つけるには複雑すぎました。オンにして、すべてを再コンパイルします。

編集:答えてくれてありがとう。背景:このライブラリは、初期化とUSB接続カメラへのアクセスを制御します。問題は、このフラグがないと、奇妙なことが起こり始めることです。一見ランダムに、カメラの初期化が失敗し、USB接続エラーが発生します。また、スタック上にあるいくつかのc-string(const char *)のある種のメモリ破損が発生します。基本的に、このカメラの初期化を呼び出す前に、それらはディレクトリパスを指します。初期化後、文字列「me」を指します。私にとってどちらが非常に混乱しています。

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

c - "DNS_BLOCK_ASSERTIONS" (C コンパイラ フラグ) とは何ですか?

"DNS_BLOCK_ASSERTIONS" (C コンパイラ フラグ) とは何ですか?

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

iphone - Xcode の特定のファイルに対する特定のコンパイラ フラグ

私は、いくつかの紛らわしい属性を持つプロジェクトに取り組むことを任されています。

このプロジェクトは、同じコンパイル設定で iPhone シミュレーターと iPhone デバイス用にコンパイルされないという性質のものです。ターゲット プラットフォームに応じて、x86 または arm6/7 用に特別にコンパイルする必要があることに関係していると思います。

そのため、プロジェクトのビルド設定を Xcode の [ビルド設定] ビューで表示すると、特定のファイルごとに特定のコンパイラ フラグを設定できません。ただし、このプロジェクトに取り組んでいた以前の開発者は、どういうわけか次の行を宣言しています。

プロジェクトファイルを手動で編集せずにこれを行う方法はありますか? プロジェクト ファイルを編集すると完全に壊れてしまう可能性があることはわかっているので、前の開発者ほどよく知らないので、編集したくありません。

明確にするために、質問は次のとおりです。

-fasm-blocksフラグを削除しない限り、シミュレーターのコンパイル時にビルドが失敗します。-fasm-blocksフラグを追加しない限り、デバイスのコンパイル時にビルドが失敗します。プロジェクト ファイルを手動で編集せずに、ファイルごとにこのフラグを設定する方法はありますか?

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

objective-c - GCC -fobjc-direct-dispatchオプションは正確に何をしますか?

GCCマニュアルには次のように書かれています。

メッセージディスパッチャへの高速ジャンプを許可します。ダーウィンでは、これは通信ページを介して行われます。

このフラグが動的ディスパッチを排除すると想定できますか?それはどのように機能しますか?直接リンクされている場合は、C関数呼び出しと同じくらい高速である必要があると思います。