問題タブ [compiler-options]
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++ - XP を対象とする Visual Studio 2013 の Visual C++ コンパイラ フラグ
XP 環境を対象とした Visual Studio 2013 を使用して C++ プログラムを作成したいと考えています。[プロジェクト プロパティ] -> [構成] タブの UI オプションを認識しており、プラットフォーム ツール セットを Windows v120_xp に設定します。コマンドを使用してそれを実現したいと考えています。回線オプション。どうやってするか。
Visual Studio 2012の場合、オプションを認識しています
CL=/D_USING_V110_SDK71_;%CL%を設定
Visual Studio 2013 で同様のオプションを探しています。
c++ - 可変トラッキング割り当ての長さの調整
リリース ビルドでは、GCC 4.4.7 から次の情報警告が表示されます。
注: -fvar-tracking-assignments を指定すると変数の追跡サイズの制限を超えました。指定せずに再試行しています
変数追跡割り当てでサポートされている変数名の長さを超えましたか?
もしそうなら、サポートされているサイズを調整する方法はありますか?
java - 誰かが javac の -implicit オプションがどのように機能するかの例を提供できますか?
シェル コマンド プロンプトで と入力するjavac -help
と、-implicit
オプションで「... 暗黙的に参照されるファイルのクラス ファイルを生成するかどうか」が指定されていることがわかります。-implicit:
none
またはに対応する 2 つのオプションがありますclass
。
-implicit:none
まず、 -implicit
オプションを使用する場合と使用しない場合の違いは何ですか?
次に、質問のタイトルに関して、提供された例が暗黙的に参照されるファイルとは何かを理解するのに役立つことを望んでいました。どうもありがとう。
emacs - emacs の erlang-compile コマンドでインクルード ディレクトリを強制的に検索する方法
いくつかの既存の erlang プロジェクトで emacs を使い始めています。できればショートカットを使用して erlang-compile コマンドを使用したいのですがC-c C-k
、私のプロジェクトのほとんどがインクルード ディレクトリにある .hrl ファイルを使用しているのに対し、コマンドは src および ebin ディレクトリしか認識していないため失敗します( erlang アプリケーションの通常のディレクトリ ツリーです)
すべてのインクルード ディレクティブを編集し、各ファイル名の前にインクルード ディレクトリへの相対パスを追加することで回避策を見つけましたが、これは気に入らず、オプション debug_info、export_all、ネイティブ...
もう 1 つの回避策は、外部コマンドを使用することですが、この場合、おそらく、コンパイル エラーとソース コードの間のリンクが失われます。
正しい方法は、オプション リストをコマンドに渡すことです (たとえば、[{i,"../include"},debug_info]
)。
を使用してコマンドを「評価」しようとしましM-: (erlang-compile XXX)
たが、失敗しました (Lisp 構文を少し知らないので、とにかく、erlang-compile には引数がないようです...)
このトピックを見たことがあります。 emacs で rebar を使用しますか? しかし、私が解決策を理解しているように、それは外部コマンドを使用し、私の 2 番目の回避策のように動作します。
これらの引数を渡す別の方法または設定はありますか?
scala - scala にコンパイラ固有のコードセクションを含めることは可能ですか?
Spark ライブラリ バージョン 1.1.0 で利用可能な特定の機能が必要な状況がありますが、このアプリケーションを実行する必要がある 2 つの異なるプラットフォームがあります。1 つは Spark 1.1.0 を使用し、もう 1 つは Spark 0.9.1 を使用します。Spark 1.1.0 で利用できる機能は、Spark 0.9.1 では利用できません。
そうは言っても、Spark 1.1.0 でコンパイルするときに特定のコードがコンパイルされ、Spark 0.9.1 を使用してコンパイルするときに、scala コードにいくつかのコンパイラ フラグを含めることは可能ですか。ライブラリ別のコードがコンパイルされますか?
そのようです :
どうもありがとう
c - -std=c99 を使用するコードと使用しないコードでは異なる結果が生成されます (UMAC AE 実装)
長い (本当に長い) 短い話 - 私は Ted Krovetz の実装を計算UMAC
とUMAC AE
暗号化に使用しています ( http://www.fastcrypto.org/ )。
umac.c
コード (および/または のテスト) をでコンパイルすると-std=c99
、計算UMAC
結果が予想と完全に異なります (そして間違っています)。このオプションを削除すると、すべてが魅力的に機能します。
これを引き起こす可能性のあるアイデアはありますか?そして、何が起こって、何が異なる結果を生み出すのかを確認するために何ができますか?
他のオプションは使用しません - ありとなしだけ-std=c99
です。
さらにいくつかの言葉:
私は Ted Krovetz に連絡して、これについて尋ねてみます (おそらくバグか何かでしょう) が、それは問題ではありません。質問はもう少し一般的で、この特定の問題は例として見ることができます。
私は走りましたvalgrind
-特別なことは何もありません。追加さ-Wall
れた-Wextra
-もう何もありません。UB のように聞こえますがvalgrind
、何も文句はありません。
状況は非常に興味深いもので、理解するのに何日もかかり、頭痛の種でした。問題は私のコード (複雑なプロトコルを実装するためにこの実装を使用しています) ではなく、アルゴリズム、特にこのオプションにあるということです。そこで意見を聞くことにしました。
このC と C++ の両方で有効なコードは、各言語でコンパイルすると異なる動作を生成できますか? ここでは同じ言語について話しているので、まったく関係ありません。「-std=c99」を使用しない
この大規模な fprintf 速度の差は近いですが、十分ではありません..
編集
これが私のテスト結果と私がしていることです(ソース/ヘッダーはダウンロードされただけで、何も変更していません):
別のマシンでテストしたところ、私のマシンと同じです。
c - gcc の複数の -o オプションはどのように機能しますか?
gcc の-oオプションがどのように機能するかを理解しようとしています。出力ファイル名を指定するために使用されることは知っていますが、次のように書くとどうなりますか。
また
?
私はそれに気付きました:最後のものだけが-o <filename>
考慮されます。だから私の質問は、なぜ複数の-oオプションを指定できるのですか? そして、それらはどのように役立つのでしょうか?
gcc - -Werror および -Wno-error=unused を指定した gcc
私はいつもコンパイルし-Wall -Wextra -Werror
ます。
ただし、クイック コンパイル テストを行うときは、-Wunused
一連のエラーを無視する必要があります。さまざまな理由から、他のすべての警告をエラーとして残しながら、それらをエラーではなく警告として表示したいと考えています。
-Wno-unused
もちろん、警告は表示されないので、必要なものではありません。私が考えたのは、
-Wno-error=unused
残念ながら解決策ではないようです (それらはまだエラーとして報告されています)。フラグを個別に設定すると (例:
-Wno-error=unused-variable
)、期待どおりに機能します (警告としてのみ報告されます)。
-Werror
それで、オプションのすべてのスーツを-Wno-error=unsused-...
個別に指定せずに、それらを警告する方法はありますか? バグ
の動作ですか?-Werro -Wno-error=unused