最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

易語言代碼中嵌入?yún)R編/機器碼方法

 更新時間:2018年11月02日 15:58:23   作者:fortest  
在本文中我們給大家分享了易語言代碼中嵌入?yún)R編/機器碼的方法內(nèi)容,有需要的朋友們可以跟著學習下。

很多朋友在編寫易語言里要混合插入?yún)R編語言等,如何解決呢?我們來看下

我們都知道,C++或Delphi的程序源代碼中可以嵌入?yún)R編代碼,以達到某些特定目的。易語言作為實用而又功能強大的編程語言,也允許在代碼中嵌入?yún)R編,——當然嚴格來說,是嵌入機器指令代碼。借助“特殊功能支持庫”中的“置入代碼”命令,可以完成這項功能。(liigo 2009.03.20補記:自易語言4.12版本起,“置入代碼”已被移入核心支持庫。)

為什么要在易語言中“置入代碼”呢?

  • 一是完成易語言不好直接完成的工作(例如,調用子程序,取變量地址,取對象方法地址,等等,當然,“置入代碼”也不是唯一途徑,通過外部支持庫往往也能完成)
  • 二是提高代碼執(zhí)行效率(這個容易理解,不多說了)。

使用“置入代碼”對程序員有什么要求?要熟悉匯編,會寫匯編代碼;會使用至少一種基于匯編的調試器(如Ollydbg);要了解或會分析易語言編譯器生成的機器代碼;要對易語言底層技術有所了解,如文本、字節(jié)集、數(shù)組等數(shù)據(jù)格式,參數(shù)傳遞方式,命令調用約定等。“置入代碼”在易語言中屬于“高級命令”,是專門為具有一定編程能力的高級程序員特別是熟悉匯編編程的專業(yè)人士提供的。一般初學者,如果半懂不懂,最好不要涉及,直接使用別人寫好的模塊或支持庫比較好,畢竟易語言的功能已經(jīng)足夠強大,很多問題都已經(jīng)有了現(xiàn)成的解決方案。

“置入代碼”的原理。其實質是,在易語言編譯過程中,編譯器將“置入代碼”的參數(shù)所指定的機器指令數(shù)據(jù),直接輸出到EXE/DLL中。因為這個動作是在編譯時進行的,所以參數(shù)指定的機器碼只能是常量,而不能是變量。同樣,因為是編譯時處理,運行時并不執(zhí)行,因而程序執(zhí)行時并不依賴支持庫(即程序發(fā)布時不需攜帶特殊支持庫spec.fne文件)。

使用“置入代碼”都有什么步驟?

  1. 寫出匯編代碼;
  2. 通過匯編器將匯編代碼編譯為機器碼;
  3. 將機器碼轉換為易語言字節(jié)集常量數(shù)據(jù),并作為參數(shù)傳入“置入代碼”。

第一步?jīng)]什么好說的,是考驗匯編功力的地方,是硬功夫,沒有技巧的。

第二步,我們可以借助“Ollydbg”等匯編器完成(當然也可以通過查詢Intel x86 指令手冊,純手工將匯編代碼編譯為機器指令碼,除非變態(tài)或超級牛叉的人不會采用)。首先啟動Ollydbg,打開任意一個EXE程序,在匯編代碼區(qū)雙擊任意一行,在彈出的匯編窗口中,輸入第一步寫好的第一行匯編代碼,回車,就可以在機器指令區(qū)域(匯編代碼區(qū)域左側)看到相應的機器指令了,如此循環(huán),逐行輸入所有匯編代碼,就可以得到相應的機器指令代碼了。

第三步也相對容易,主要工作可能就是將Ollydbg生成的16進制指令代碼轉換為10進制。如果代碼不長,借助“計算器”純手工操作也行。一般來說,通常會用易語言寫一個小程序,解析從Ollydbg中復制出的文本,提取其中的機器指令代碼,進行數(shù)制轉換,生成易語言字節(jié)集數(shù)據(jù)的文本格式。這種小程序很容易寫,我想“置入代碼”的使用者中很多人(據(jù)我了解不下10個)都寫過類似的程序,我(liigo)也寫過一個。說實話,這種小程序自己用,寫的簡陋些沒關系,反正只是輔助程序,還可以隨時調整嘛,但想發(fā)布的話,就要考慮通用性易用性,麻煩很多,況且用戶也不多,所以發(fā)布此類程序的人很少,但是論壇上也確實有人發(fā)過。

感謝大家對腳本之家的支持

相關文章

  • 易語言統(tǒng)計代碼行數(shù)與API的工具

    易語言統(tǒng)計代碼行數(shù)與API的工具

    今天小編就為大家分享一篇關于易語言統(tǒng)計代碼行數(shù)與API的工具,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2018-12-12
  • 易語言插入成員命令使用講解

    易語言插入成員命令使用講解

    今天小編就為大家分享一篇關于易語言插入成員命令使用講解,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2018-11-11
  • 詳解易語言線程同步

    詳解易語言線程同步

    在本篇內(nèi)容中我們給大家詳細分享了關于易語言多線程之線程同步的相關知識點內(nèi)容,需要的朋友們學習下。
    2018-12-12
  • 易語言數(shù)據(jù)庫操作之“取字段名”命令詳解

    易語言數(shù)據(jù)庫操作之“取字段名”命令詳解

    在本篇文章里小編給大家分享的是關于易語言數(shù)據(jù)庫操作之“取字段名”命令詳解內(nèi)容,需要的朋友們可以參考下。
    2020-04-04
  • 易語言將指定的主機名與IP地址轉換功能

    易語言將指定的主機名與IP地址轉換功能

    今天小編就為大家分享一篇關于易語言將指定的主機名與IP地址轉換功能,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2018-11-11
  • 易語言調節(jié)器限制最大值和最小值的方法

    易語言調節(jié)器限制最大值和最小值的方法

    今天小編就為大家分享一篇關于易語言調節(jié)器限制最大值和最小值的方法,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2018-11-11
  • 易語言制作文件夾壓縮備份工具的代碼

    易語言制作文件夾壓縮備份工具的代碼

    今天小編就為大家分享一篇關于易語言制作文件夾壓縮備份工具的代碼,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2018-11-11
  • 易語言強制結束線程分析

    易語言強制結束線程分析

    在本文中我們給大家整理了關于易語言強制結束線程的相關知識點內(nèi)容,需要的朋友們可以學習下。
    2018-12-12
  • 易語言變量循環(huán)首命令使用講解

    易語言變量循環(huán)首命令使用講解

    今天小編就為大家分享一篇關于易語言變量循環(huán)首命令使用講解,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2018-10-10
  • 詳解易語言寫ec模塊的方法

    詳解易語言寫ec模塊的方法

    在本篇內(nèi)容里小編給大家分享了關于易語言寫ec模塊的方法內(nèi)容,需要的朋友們可以參考一下。
    2018-11-11

最新評論

大方县| 绿春县| 平凉市| 海伦市| 泉州市| 土默特右旗| 尼勒克县| 鄱阳县| 富锦市| 北京市| 格尔木市| 铜梁县| 霸州市| 邮箱| 贺州市| 万宁市| 鄂伦春自治旗| 建瓯市| 邮箱| 遂川县| 汶川县| 手游| 宜黄县| 灵台县| 平遥县| 乐安县| 望城县| 望谟县| 芮城县| 双城市| 南岸区| 武隆县| 绵竹市| 贡嘎县| 旬邑县| 科技| 南阳市| 清远市| 股票| 灵石县| 新晃|