intermediate-language

    0熱度

    2回答

    我們正面臨一個奇怪的問題。我們有一個用WPF編寫的用戶控件,我們在xaml文件中添加了一個單擊事件處理程序。在本地系統上,它按預期工作。但是當構建在服務器(我們有代碼庫)生成時,我們注意到生成的構建有一個錯誤。這個錯誤是每次爲此控件生成兩次click事件。我們在事件處理函數中使用OpenFileDialog來瀏覽圖像。 我們注意到通過VS構建的本地系統使用CSC.exe進行構建,而在服務器上使用M

    2熱度

    1回答

    在.NET中,是由運行時還是由編譯器強制的私有方法和屬性? 如果您嘗試調用另一個對象的私有方法,編譯器將拋出一個訪問異常。如果您手動操作IL或嘗試通過反射進行調用,您會做什麼?另外,它是否因運行時版本而異(1.1 vs 2.0 vs 3.5 vs 4.0)?

    3熱度

    2回答

    我想從C#中導出一些功能,所以我可以在我的非託管C++應用程序中使用它。在我的測試項目中,我首先創建了一個具有簡單函數的C#DLL,以將字符串寫入文件。然後我使用ildasm將它變成中間語言(.il文件)。在.il內函數看起來像這樣: // =============== CLASS MEMBERS DECLARATION =================== .class

    0熱度

    3回答

    如果我理解我讀過的內容是正確的,那麼虛擬機本質上就是一箇中間代碼編譯器。 但是從未說過Delphi(作爲非託管代碼的示例)在其編譯器中運行。 將虛擬機描述爲編譯器會不會讓人困惑?

    3熱度

    2回答

    我使用System.Reflection.Emit,並在某些時候我想從一個MethodBuilder創建一個委託: MethodBuilder fooBuilder = createFooMethodBuilder(); ILGenerator ilGenerator = ... Type delegateType = typeof(DelegateType); LocalBuilder d

    5熱度

    1回答

    在閱讀時,我遇到了「中間語言」和「3AC」的術語。 IL,據我所知,是源代碼編譯過程中的中間「步驟」。更具體地說,我正在閱讀關於字節碼(Java)和C. 我解釋它的方式(糾正我,如果我錯了)是; 源代碼1(例如Lisp的。) - > 中間語言(C) - >組裝 語言 - >機器代碼 源代碼2(例如Java的。) - >字節碼 - >爪哇虛擬機 因此,我很難看到三地址碼(TAC/3AC)在哪裏發揮作

    1熱度

    3回答

    我有一個在Microsoft .NET程序集mscorlib.dll中找到的約25種類型的列表,其中需要提取該類及其成員的IL簽名。我希望每個類型都有一個文件,每個簽名都在一行上。因此,例如,採取 System.Collections.Generic.Comparer<T> 我想提取從組件,其類型下面的類型(有一些私有成員我不需要,但如果需要,我可以是手工處理)。 .class public

    3熱度

    4回答

    if語句在編譯爲IL時看起來像什麼? 這是一個非常簡單的C#構造。 sombody能給我一個更真實的定義嗎?

    4熱度

    5回答

    我有一個編譯程序集。我想以編程方式比較該程序集中某個方法的實現方法與我期望的方法。 有沒有一種方法可以比較他們的ILs?即使我可以獲得任何指令集的字節數組表示形式,我也會處於一個不錯的位置。 幫助讚賞。

    3熱度

    2回答

    我想即時修改現有類的.Net IL代碼。這有可能嗎?我發現了一些對.Net Profiling API的引用,但根據文檔,它不支持自修改應用程序。主要目的是替換一些屬性的getter和setter。任何提示將非常感激。 歡呼聲, 阿希姆