一、編譯為程式集
編譯c#
源**檔案將得到程式集檔案,例如:
乙個程式集檔案包含
4部分:
pe表頭、
clr表頭、元資料和
il**。
pe表頭是
windows
作業系統要求的標準資訊;
clr表頭專門用於那些需要
clr才能執行的模組;元資料實際上就是一塊二進位制資料,其中包含著一些表,我們可以將元資料表劃分為三大類:定義表、引用表和清單表;
il**是編譯得到的中間語言。
二、執行程式集**1、
clr的載入
當乙個託管程式集被呼叫時,作業系統載入器會檢視檔案表頭的某個目錄項來檢測檔案是否包含託管**,如果包含(該目錄項存在且不為
0),則自動將
mscoree.dll
(微軟元件物件執行時執行引擎)載入到程序的位址空間,一旦載入完成,作業系統載入器將使該程序的主線程直接跳轉到
mscoree.cll
中相應的函式上。
mscoree.dll
中的函式負責初始化
clr,然後呼叫託管程式集的入口點方法。
2、程式集**的執行
為執行程式集中的
il**,它必須首先被轉換成本地
cpu指令,這是由
clr中
jit(即時)編譯器來完成的。
三、強命名程式集
乙個強命名程式集包含四個唯一標識程式集的特性:檔名、版本號、語言文化表識和乙個公有金鑰標記。
四、程式集的部署
程式集的部署有三種方式:部署到當前目錄、部署到
gac和通過配置檔案進行部署。
mysql 的基本問題 MySQL 基本問題整理
整理 mysql 安裝部署運維問題解決優化記錄。1 安裝 系統為 centos7 1 rpm 包方式安裝yum install wget wget wget 解壓到某個路徑,安裝全部的 rpm 包yum install mysql rpm 2 yum 庫方式安裝 可參考官網切換版本 rpm ivh ...
DVB DVB基本問題
1 在進行節目搜尋時,nit搜尋,手動搜尋以及全頻段搜尋都要用到那些表,什麼順序?答 先收nit,找到頻點列表,依次搜每乙個頻點。如果是全頻段搜尋,自己建乙個頻點列表開始搜。在乙個頻點上,先收pat,然後收pmt,就可以把節目搜出來了,再搜sdt找到頻道名稱.2 為什麼不先搜尋sdt在搜尋pat p...
LINGO基本問題
1.lingo中的infeasibilities 矛盾約束的數目 一般不可行的問題裡面才 會不為0 可行的都是0或者很接近0 slack or surplus什麼意思 slack一般用作鬆弛的或是鬆懈的,surplus一般用作剩餘或是超出 lingo中的reduced cost 和dual pric...