トップページ > プログラム > 2015年04月15日 > elzEhIzV

書き込み順位&時間帯一覧

13 位/157 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000030000000000003



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
C言語なら俺に聞け(入門編)Part 127©2ch.net

書き込みレス一覧

C言語なら俺に聞け(入門編)Part 127©2ch.net
457 :デフォルトの名無しさん[]:2015/04/15(水) 11:43:17.67 ID:elzEhIzV
ふつうJITコンパイラって機械語でなくJAVA VMのように仮想マシンみたいなところで動かしてるのでは?
C#は違うようだが。
予想ではDLLの仕組みと同様で必要に応じてビルドしてそれをDLLのような形で保存しておき動的にロードするのでは?
C言語なら俺に聞け(入門編)Part 127©2ch.net
460 :デフォルトの名無しさん[]:2015/04/15(水) 11:55:13.21 ID:elzEhIzV
nodejsはオープンソースだった思うし、仮想マシンなどが動作せずにJITコンパイルしているらしいから
これがいいんじゃないか。
C言語なら俺に聞け(入門編)Part 127©2ch.net
461 :デフォルトの名無しさん[]:2015/04/15(水) 11:59:51.95 ID:elzEhIzV
.NET Frameworkの仕組みを再確認、不測のトラブルに備えよう:CodeZine


EXEファイルを実行すると、まずCPUアーキテクチャ(32bit/64bit等)に合わせて「MScorEE.dll」、.NET Frameworkのバージョンに合わせて「MSCorWks.dll」が選定される。
続いて、アセンブリローダにより、アセンブリのマニフェスト/署名確認、アセンブリのバージョン選定/検索、パーミッションの設定などが行われる。

また、中間言語MSILのコードは、JIT(Just In Time)コンパイラにより、実行可能なネイティブコードにコンパイルされた後、メモリに格納され、実行される(一度コンパイルされたものは再度コンパイルされない)。

アセンブリの配置場所・配置方法

.NET Frameworkでは、アセンブリ単位で高度なバージョン管理が行われるため、従来のようなレジストリへの登録が不要。

必要なアセンブリは、GAC(Global Assembly Cache)と呼ばれる共有スペース、構成ファイルの<codeBase>に記述されている場所の順で検索され、見つからない場合はProbingというプロセスに入る。
アプリケーションが存在するディレクトリ以下で「アセンブリ名+.dll/.exe」が検索され、それでも見つからないと例外(System.IO.FileNotFoundException)となる。
なお、原則Probingは避け、GACや<codeBase>を利用すべきとしている。

なお、GACに登録するには厳密名を持つ必要があり、登録されているアセンブリ一覧は「Windows」フォルダ直下の「assembly」フォルダで確認できる(実際にアセンブリがこのディレクトリに存在するわけではない)。

アセンブリの配置方法には、XCopy(ツリー構造のままコピー)による単純な配置、Windowsインストーラ(.msiファイル)による配置、ClickOnce(インターネット経由のインストール)による配置がある。

http://codezine.jp/article/detail/2236


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。