問題タブ [runtime-compilation]

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

c# - アセンブリの内部を実行時に別のアセンブリから見えるようにする

だから私はしばらくこれを行う方法を探していましたが、何かを見つけるたびに別の問題につながります.

基本的に、私はゲーム機を持っています。コンソールは、C# コードのスニペットを実行します。コンパイルされたアセンブリは、コンソールが現在のアセンブリのすべての型を認識し、それらを操作できるように、現在のアセンブリのフレンドである必要があります。

問題 1: コンソール コマンドを実行するたびに、新しいアセンブリが生成されます (誰かが方法を知っている場合はこれを避けたいと思います)。それをフレンド アセンブリにするためには、最後のアセンブリと同じ名前を付ける必要があります。残念ながら、以前のアセンブリをアンロードできないため、新しいアセンブリで上書きすることはできません。これにより、AppDomains を使用せざるを得なくなりました。

問題 2: 各アセンブリで個別の AppDomain を使用し、最後のアセンブリをアンロードすると動作しますが、現在の AppDomain のオブジェクトは MarshalByRef から派生していないため操作できません。スクリプトはそれらをシリアライズしようとします。私は AppDomains が好きではありません。

したがって、最も簡単な方法は、同じ AppDomain に別の名前でアセンブリを生成し、実行時に何らかの形でフレンド アセンブリとして設定することだと考えました。

これは不可能かもしれないので、他の代替手段は歓迎します。

編集:より明確にするために。スクリプトは、メイン/親アセンブリの内部にアクセスする必要があります。その逆ではありません。コードを再利用可能にしたいので、メイン アセンブリですべてを公開することはできません。

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

c - x を n 乗する

私は初心者ですが、インターネットのどこかで入手したこの C プログラム (クレジット: http://www.geeksforgeeks.org/archives/28 ) が適切に動作することを知っています。


私はちょうどどのように、なぜだろうと思っています。この関数のコードの行の後に、質問/コメントをコメントにしました...


何が起こったのか、親切に説明してください。多分私は何かを逃しただけです。また、どのようにしてO(lg n)実行時間になったのか。どうもありがとうございました!

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

ruby - Ruby でのランタイム コード生成のベスト プラクティス

私は最近、パーサーとパーサー ジェネレーター、および DSL 設計におけるそれらの使用法をいじり始めました。物事を開始し、一石二鳥にするために、peg.js からいくつかのアイデアを盗んで純粋な Ruby PEG パーサー DSL を作成しました。違いは、peg.js は文法を JavaScript にコンパイルするのに対し、私のライブラリは Ruby が提供する構文シュガーと組み合わせたインタープリター パターンを使用して、すべてを純粋な Ruby で行うことです。これにより、回避したい重要なオーバーヘッドが追加されます。

オーバーヘッドの一部を削減するために、生成された構文解析式の一部を低レベルの表現にコンパイルすることを考え始めました。eval私が思いついたアイデアの 1 つは、あるオブジェクトのシングルトン クラス内のコードの文字列表現を評価するために使用することでした。プロセスを示すための疑似コードを次に示します。

そのようなコード生成を達成するための他の/より良いアプローチがあるかどうか知りたいですか? 私はこのようなことに慣れていないので、おそらく明らかな何かを見逃しています。

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

cocoa - 実行時に CIFilter をコンパイルするには?

プログラムで実行時にやりたいのですが、Quartz Composer が Core Image Filter パッチで行うこと: Compiling a CIFilter inside Quartz Composer。Quartz Composer には、CIFilter を作成する CIFilter カーネルのテキストを取得するパッチがあります。

パブリック API でこれにアクセスできますか?

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

algorithm - 再帰アルゴリズムの時間の複雑さ

再帰的な解決策を見たり、問題に対して再帰的なコードを書いたりするときはいつでも、時間の複雑さを理解するのは本当に難しいです. 実際にはどのように指数関数的ですか?n! のときは 2^n、n^n または n^k のときはどのように言いますか。

いくつか質問があります -

  1. 文字列のすべての順列を見つけるとしましょう (O(n!))
  2. 配列内で合計 k になるすべてのシーケンスを見つけます (指数、正確に計算するにはどうすればよいですか)。
  3. 合計が 0 であるサイズ k のすべてのサブセットを見つけます (k は複雑さのどこかに来るでしょうか?それは正しいはずですか?)。

そのような質問の正確な複雑さを計算する方法を教えてください。コードを書くことはできますが、正確な時間の複雑さを理解するのは難しいです。

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

java - JRE 1.6 が見つからない場合に Java アプリケーションを閉じるには、プロジェクト POM にタグを付けますか?

Java でコンパイルされたアプリケーションがあります。Maven を使用してコードをビルドします。システムで JRE 1.6 が見つからない場合に Java アプリケーションを起動できないように、プロジェクト POM にタグが必要です。

これに関して何か助けを得ることができますか?

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

c# - C# の実行時にあるクラスを別のクラスに動的にマップする

垂直キー値ペア ストア システムから従来の水平列ストア システムにデータを変換するシステムを構築しようとしています。

元データはこんな感じ

次のようなデータが生成されます

この状況にはいくつかの落とし穴があります。まず第一に、実行時までターゲット型のすべてのフィールドを把握しているわけではありません。そのための大まかな解決策があり、ソース データの構造に基づいて実行時に新しいクラスを生成できます。

ただし、データ自体を新しいクラスにマップする良い方法がわかりません。問題を解決するためのより簡単な方法を指摘したり、私が進んでいる道の次のステップで助けを求めたい.

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

java - java.math.BigDecimal の実行時とコンパイル時のコンストラクタの数が一致しない

次の実装で BigDecimalWithAttrDisplay という新しいクラスを定義しました。

このクラスを使用するコードを実行しようとすると、次のようになります。

何が問題で、どうすれば修正できますか?

0 投票する
0 に答える
321 参照

c# - 実行時に実行中のアセンブリにクラスを挿入することは可能ですか?

CSharpCodeProvider .NET コード DOM クラスを試しています。アセンブリをコンパイルして、アセンブリ内で定義されたインスタンスを作成できますが、コードまたはクラスを「挿入」できるかどうかを知りたいです。実行中のアセンブリ内の名前空間。

コードをアセンブリ ファイルにコンパイルすることで問題を回避できる可能性がありますが、可能であればこれをメモリ内で行いたいと考えています。