//獲取命令內容;
string _strcommand = dbcommon.getassemblevalue((sender as toolstripmenuitem).tag.tostring(), 5);
//編譯器初始化
icodecompiler comp = (new csharpcodeprovider().createcompiler());
//編譯器引數初始化
compilerparameters cp = new compilerparameters();
//載入使用的動態庫引數
cp.referencedassemblies.add("system.dll");
cp.referencedassemblies.add("system.data.dll");
cp.referencedassemblies.add("system.xml.dll");
//不生成可執行程式檔案
cp.generateexecutable = false;
//是否在記憶體中輸出
cp.generateinmemory = true;
//字串生成
stringbuilder code = new stringbuilder();
//加入引用單元
//編譯提交
compilerresults cr = comp.compileassemblyfromsource(cp, code.tostring());
//判斷是否編譯出錯。
if (cr.errors.haserrors)
msgbox.errormsg("動態編譯", error.tostring());
}//獲取已編譯程式集
assembly assembly = cr.compiledassembly;
//獲取例項
object _compiled = assembly.createinstance("smart._smartvisualmachine");
//返回編譯後的方法。
methodinfo mi = _compiled.gettype().getmethod("executevm");
//呼叫函式
mi.invoke(_compiled, null);
好像很多沒有引用到~ 只是基本的單元~ 對dll集不太了解~
解析程式與編譯程式
所謂解釋程式是高階語言翻譯程式的一種,它將源語言 如basic 書寫的源程式作為輸入,解釋一句後就提交計算機執行一句,並不形成目標程式。就像外語翻譯中的 口譯 一樣,說一句翻一句,不產生全文的翻譯文字。這種工作方式非常適合於人通過終端裝置與計算機會話,如在終端上打一條命令或語句,解釋程式就立即將此語...
C 編譯程式時的記憶體分配
乙個由c c 編譯的程式占用的記憶體分為以下幾個部分 1 棧區 stack 程式執行時由編譯器自動分配,存放函式的引數值,區域性變數的值等。其操作方式類似於資料結構中的棧。程式結束時由編譯器自動釋放。2 堆區 heap 在記憶體開闢另一塊儲存區域。一般由程式設計師分配釋放,若程式設計師不釋放,程式結...
GCC編譯程式
gcc gnu compiler collection 是linux下最主要的一種編譯工具。gcc編譯格式 gcc 選項 源檔名 選項 目標檔名 採用預設得方式編譯原始檔,系統會生成a.out可執行檔案 採用顯式編譯成目標檔案,在編譯成可執行檔案 gcc c hello.c 生成hello.o gc...