IL中的棧和閃電的Owin推薦

2022-01-18 08:27:38 字數 473 閱讀 7376

最近幾天有幸得到閃電大哥的指點,了解了emit和il中的一些指令。雖然有高射炮打蚊子的說法,但是我相信「二八定律」,80%的功能可以用20%的技術解決,20%的功能只能用80%的技術解決。大哥的部落格:

然後是il中的棧,棧這個我理解成乙個桶,這個桶可以放一定數量的圓餅,符合先進後出的原則。在做一些加減乘除的操作的時候,會彈出頂部兩個引數進行操作,操作後的結果將會重新壓人棧中。

int i=1

;int j=2

;int k=3

;console.writeline(i+j+k);

如上**編譯成il後,是先會定義乙個棧的大小,然後為三個變數分配記憶體,接著將值1,2,3分別載入到這些變數中。慢慢的再將索引第乙個變數和索引第二個變數壓入棧,做add操作,得到值後壓入棧,接著將索引第三個變數壓入棧,再做add操作,並將結果壓入棧。最後是call函式writeline,彈出棧頂部的引數傳入執行。當然,結束後要return。

聊聊gcc引數中的 I, L和 l

在本文中,我們來聊聊gcc中三個常見的引數,也即 i,l和 l 一.先說 i 注意是大寫的i 我們先來看簡單的程式 main.c cpp view plain copy include include add.h int main add.c cpp view plain copy int add ...

聊聊gcc引數中的 I L和 l

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!在本文中,我們來聊聊gcc中三個常見的引數,也即 i,l和 l 一.先說 i 注意是大寫的i 我們先來看簡單的程式 main.c include include add.h intmain add.c int add int x,int y add...

聊聊gcc引數中的 I L和 l

在本文中,我們來聊聊gcc中三個常見的引數,也即 i,l和 l 一.先說 i 注意是大寫的i 我們先來看簡單的程式 main.c include include add.h intmain add.c int add int x,int y add.h int add int x,int y fon...