問題タブ [compile-time]

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

c++ - Visual C ++実行可能ファイルでコンパイルタイムスタンプを出力しますか?

Visual C ++ 2005でビルドした実行可能ファイルにコンパイルタイムスタンプ情報を挿入するにはどうすればよいですか?プログラムを実行すると、次のような出力ができるようになります。

このビルドXXXXは、dd-mm-yy、hh:mmでコンパイルされました。

ここで、日付と時刻はプロジェクトが構築された時刻を反映しています。再コンパイルされない限り、プログラムが連続して呼び出されるたびに変更されないようにする必要があります。

0 投票する
7 に答える
79474 参照

c++ - CPU アーキテクチャのコンパイル時間の検出

C または C++ コードをコンパイルするときに CPU アーキテクチャを見つける最も信頼できる方法は何ですか? 私が知る限り、さまざまなコンパイラには独自の非標準プリプロセッサ定義のセットがあります(_M_X86MSVS、__i386__GCC__arm__など)。

私が構築しているアーキテクチャを検出する標準的な方法はありますか? そうでない場合、すべての定型文を含むヘッダーなど、さまざまなコンパイラのそのような定義の包括的なリストのソースはあり#ifdefますか?

0 投票する
4 に答える
939 参照

c++ - C ++のコンパイル時間を短縮する製品?

C ++のビルド時間を短縮する製品はありますか?それはmsvcで使用できますか?

0 投票する
4 に答える
578 参照

java - 値オブジェクトを自動生成する

1 つまたは複数のインターフェイスが与えられた場合、クラスの実装を生成する最良の方法は何ですか?

クラス変数は、インターフェイスの getter メソッドから派生する必要があります。理想的には、インターフェイスの共変の戻り値の型が処理されます。実装では、プライベート最終変数とコンストラクターのインスタンス化を使用して、不変性を優先する必要があります。equals、hashCode、および toString メソッドを生成する必要があります。

0 投票する
6 に答える
2660 参照

c# - Intellisenseとコンパイル時のチェックを使用したリフレクション用のプロパティ名の抽出

Ok。したがって、データに特定のことが起こったときにコントロールに特定のことを行うために、winFormの特定のコントロールをオブジェクトの特定のプロパティにマップするコードがいくつかあります。すべてうまくいき、うまく機能します。問題ありません。問題は、マッピングにアイテムを追加するために、次のような関数を呼び出すことです。

私が遭遇した問題は、コンパイル時に、上記の行と以下の行の違いを区別するのが非常に難しいことです。

最後のパラメータは文字列であるため、コンパイル時のチェックなど、文字列自体が指定されたオブジェクトの有効なプロパティ名に実際に対応していることを強制するようなものはありません。さらに、リファクタリングや「すべての参照の検索」などは、この種の参照を見逃しているため、プロパティ自体の名前が変更されたときに陽気になります。ですから、私が疑問に思っているのは、渡すものが何らかの方法でプロパティ名を表す文字列になるように関数を変更する方法があるかどうかですが、コンパイル時に実際の値をチェックします。誰かが私に言った式ツリーでこれを行うことができますが、私はそれらを読んだので、接続が表示されないようです。私は次のようなことをしたいです:

あるいは

甘いだろう!

何か案は?

0 投票する
27 に答える
333607 参照

language-agnostic - 実行時間とコンパイル時間

実行時とコンパイル時の違いは何ですか?

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

c# - .NET でコンパイル時に参照/型の存在を確認する

最近、コンパイル時に、a) 特定のアセンブリ参照が存在し、正常に解決できるかどうか、または b) 特定のクラス (完全修飾名がわかっている) が定義されているかどうかを確認する必要があることがわかりました。これら 2 つの状況は、私の目的では同等であるため、いずれかを確認できれば十分です。.NET/C# でこれを行う方法はありますか? プリプロセッサ ディレクティブは、最初は役に立つかもしれないと思いましたが、必要な機能を備えていないようです。

もちろん、実行時に型の存在を確認することは簡単にできますが、残念ながら、この状況での特定の問題は解決しません。(特定の参照が欠落しているという事実を無視して、コード内の別のアプローチにフォールバックできるようにする必要があります。)

0 投票する
7 に答える
210 参照

compiler-construction - コンパイラの最適化に関するステートメントを理解できません

VM による実行時およびコンパイル時の最適化に興味があります。私は、最適化はコンパイル時に最も効率的で簡単であるという考えを持っていました。

しかし、私の考えは特定の状況では間違っているようです。これは、ダニエルが引用したスティーブ・イェギーの声明で明らかです

[最適化] は、賢い仮想マシンによって実行時に実行されると、多くの場合簡単になります。

VM によって実行時に最適化を実行すると、コンパイル時よりも最適化が容易になるのはなぜですか?

0 投票する
10 に答える
154231 参照

c++ - C++テンプレートでタイプの名前を取得する

私はいくつかのテキストデータファイルを解析するためのいくつかのテンプレートクラスを書いています。そのため、解析エラーの大部分はデータファイルのエラーが原因である可能性があります。データファイルのエラーの大部分はプログラマーによって作成されていないため、必要です。アプリの読み込みに失敗した理由についての良いメッセージ。たとえば、次のようなものです。

example.txtの解析中にエラーが発生しました。[MySectiom] Keyの値( "notaninteger")は有効なintではありません

テンプレート関数に渡された引数とクラスのメンバー変数からファイル、セクション、キーの名前を計算できますが、テンプレート関数が変換しようとしているタイプの名前を取得する方法がわかりません。

私の現在のコードは次のようになりますが、単純な文字列などに特化しています。

データファイルがたくさんあるので、データファイルが使用する可能性のあるすべてのタイプに対して特定のオーバーロードを作成する必要はありません...

また、例外が発生しない限り実行時のオーバーヘッドが発生しないソリューションが必要です。つまり、このコードは何回も呼び出され、ロード時間はすでにいくらか長くなっているため、完全なコンパイル時のソリューションが必要です。

編集:わかりました、これは私が思いついた解決策です:

私はtypes.hに次のものが含まれています

次に、DEFINE_TYPE_NAMEマクロを使用して、処理する必要のあるタイプごとにcppファイルを作成できます(たとえば、最初にタイプを定義したcppファイルで)。

リンカは、どこかで定義されている限り、適切なテンプレートの特殊化を見つけることができます。そうでない場合は、リンカエラーをスローして、型を追加できます。

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

copy - VisualStudio展開プロジェクトにファイルを動的に追加します

私は必死にこれに対する答えを探していました、そして私は私が明白な何かを逃していると感じます。

コンパイル時に、データファイルでいっぱいのフォルダーをデプロイメントプロジェクトのTARGETDIRにコピーする必要があります。個々のファイルを追加する方法はわかりますが(つまり、ファイルシステムを右クリックして[追加]-> [ファイル]に移動します)、常に追加されるデータファイルでいっぱいのフォルダーがあります。コンパイルするたびに新しいファイルを追加する必要はありません。

PreBuildEventを使用してファイルをコピーしようとしました。

$(ProjectDir).. \ Data*。*$(TargetDir)Data\をコピーします

ビルド時にエラーコード1で失敗します。でも、ここでポイントを逃していると感じずにはいられません。助言がありますか?

前もって感謝します。

グレイム