易语言写支持库继续玩“花”儿:命令_置入代码
2008-09-06 16:37
302 查看
在上一篇博客“易语言写支持库也能玩出“花”儿来(易写易库(EXEK)进展5)”中,玩了几个“花”儿,下面继续玩“花”儿。
易语言程序员大概都知道易语言有一个官方的“特殊功能支持库”,这个支持库果然名副其实,够“特殊”。其中有一个命令“置入代码”非常的特殊:它能把它的参数视为x86机器码插入到编译生成的EXE中!我们知道,一般支持库中的命令,仅在程序运行期执行;而“置入代码”这个命令,竟然影响了易语言编译器的编译行为!而且,使用了本命令的易语言程序,运行时不依赖支持库文件(spec.fne),即,它仅在编译期生效。
那么,能不能使用“易写易库(EXEK)”写出一个与“置入代码”功能等同的命令来呢?当然可以。
我写了一个很简单的支持库,里面只有一条命令,“命令_置入代码”,功能与“置入代码”相同,参数和返回值也完全相同,可独立于特殊功能支持库工作。
下载:myspec.fne,51K。
最简单的验证此支持库命令功能的方式是,调用“命令_置入代码({ 204 })”,调试执行,看程序是否会中断在下一行代码处。如果你怀疑我内部调用了特殊功能支持库的“置入代码”命令,不妨事先将spec.fne文件移走。(注:204 是指令 int3 的机器码,软中断。)
这只是一个“花”儿,没有什么实用价值,特此声明。
补充一点:
大部分的普通易语言用户对“置入代码”可能比较陌生,毕竟熟悉汇编指令甚至X86机器码的并不多见。但是,这条命令真的非常有用,在特定情况下,几乎离了它不行。易写易库(EXEK)模块内部就多处应用了该命令。
2008.10.1补记:
两点:一、编写一个与“置入代码”功能等同的命令,其实方法非常简单,明眼人一看便知(本文有忽悠人之嫌)。二、从易语言4.12开始,“置入代码”已从特殊功能支持库移入核心库。
易语言程序员大概都知道易语言有一个官方的“特殊功能支持库”,这个支持库果然名副其实,够“特殊”。其中有一个命令“置入代码”非常的特殊:它能把它的参数视为x86机器码插入到编译生成的EXE中!我们知道,一般支持库中的命令,仅在程序运行期执行;而“置入代码”这个命令,竟然影响了易语言编译器的编译行为!而且,使用了本命令的易语言程序,运行时不依赖支持库文件(spec.fne),即,它仅在编译期生效。
那么,能不能使用“易写易库(EXEK)”写出一个与“置入代码”功能等同的命令来呢?当然可以。
我写了一个很简单的支持库,里面只有一条命令,“命令_置入代码”,功能与“置入代码”相同,参数和返回值也完全相同,可独立于特殊功能支持库工作。
下载:myspec.fne,51K。
最简单的验证此支持库命令功能的方式是,调用“命令_置入代码({ 204 })”,调试执行,看程序是否会中断在下一行代码处。如果你怀疑我内部调用了特殊功能支持库的“置入代码”命令,不妨事先将spec.fne文件移走。(注:204 是指令 int3 的机器码,软中断。)
这只是一个“花”儿,没有什么实用价值,特此声明。
补充一点:
大部分的普通易语言用户对“置入代码”可能比较陌生,毕竟熟悉汇编指令甚至X86机器码的并不多见。但是,这条命令真的非常有用,在特定情况下,几乎离了它不行。易写易库(EXEK)模块内部就多处应用了该命令。
2008.10.1补记:
两点:一、编写一个与“置入代码”功能等同的命令,其实方法非常简单,明眼人一看便知(本文有忽悠人之嫌)。二、从易语言4.12开始,“置入代码”已从特殊功能支持库移入核心库。
相关文章推荐
- 易语言写支持库继续玩“花”儿:命令_置入代码
- 我使用过的Linux命令之swig - 把C/C++的代码嵌入Java等语言的开发工具
- 用代码窥探Java支持的语言
- go语言的代码编写,与命令调用
- iOS中代码支持多国语言切换的实现(Xcode5+iOS7)
- 易语言自定义命令(自定义核心支持库命令名)
- 我使用过的Linux命令之swig - 把C/C++的代码嵌入Java等语言的开发工具
- [VB.NET]求支持ole的菜单命令代码!60分答谢!
- wordpress中wp-syntax支持的语言代码
- ReSharper 8.1支持TypeScript语言之代码检查特征
- [汇编语言]debug中用r命令修改cs、ip,并不能影响a命令的代码起始写入地址?
- 未安装C#的Visual Studio语言支持,代码编辑Intellisense将不可用
- 易语言将键代码转换为字符命令的工具
- C语言基础(1.linux终端命令2.gcc过程3.命令行模式和输入模式切换4.命令行一些命令5.函数(三要素)6.基本的C语言代码结构)
- iOS中代码支持多国语言切换的实现(Xcode5+iOS7)
- 【原】高亮您的代码,秀出您的水平【有源码,支持大部分常用语言的高亮显示,如C#,JAVA等】
- Android 上的代码阅读器 CoderBrowserHD 修改支持 go 语言代码
- iOS中代码支持多国语言切换的实现(Xcode5+iOS7)
- iOS中代码支持多国语言切换的实现(Xcode5+iOS7)
- Ext ExtJS中嵌入Editarea作在线代码编辑工具 支持多种语言语法高亮 语法着色 代码补全