玖爱辅助网为您提供最新免费游戏辅助(绝地求生.CF.lol.QQ飞车.守望先锋等),QQ活动,QQ教程,QQ软件,易语言源码,易语言教程等信息 - 凌哥QQ:1027663760

凌哥E编程模块v3.2.6.20211102 - 用心打造最专业的易语言模块

浏览次数:94252发布时间:分类:易语言模块评论数量:加载中

凌哥E编程模块 - 用心打造最专业的易语言模块

不再免费对外开放使用,仅群员有使用权限

1.png

以开发超高性能程序为目标;所有功能不会与其它模块产生冲突;DLL命名不重复;所有函数已考虑到多线程兼容性;对象参数返回严格按照数据类型定义而不是靠易语言自动转换(如变体型),完美兼容黑月;各个函数均有完整注释;所有函数追求高效率的同时兼顾稳定性、兼容性。

【释放文件路径规范】C:\Users\administrator\AppData\Roaming\凌哥E编程模块\
路径中的 administrator 代表当前计算机登录的用户名;模块释放的各种插件DLL都会存放在这个目录里面
查看当前程序数据路径方式: L_文件_执行 (L_目录_取特定目录 (8) + "凌哥E编程模块" )

模块的内存操作在测试时处理长度均为百万、千万级,效率与稳定性多次测试。参考《windows核心编程第五版》以及我对易语言的了解来优化

模块的所有类方法中的 创建()/销毁()/初始化() 等类似的功能,均可被重复调用任意次,内部写好了判断,重复调用不会出问题

使用模块必须将 "Ling.dll" 文件放到易语言根目录下的 "plugins" 文件夹中,否则无法正常调试/编译
DLL里面存放着各种功能插件(大漠、Curl、HPSocket、SHE皮肤、gzip库、lzma库、驱动键鼠等)
代码用到的功能会从DLL中提取相关资源编译到软件里,这种方式能极大程度地缩小模块体积,并且加快编译速度
"Ling.dll" 禁止在虚拟机内调试/编译;编译后的软件是不依赖 "Ling.dll" 的,请放心使用

本模块一些功能的传参(比如线程方面的代码)基本是传递字节集      遇到问题请详细阅读子程序/参数的备注文本

大家有任何建议以及BUG都可以向我反馈,有编程上的问题也可以来找我询问

联系QQ:1027663760 - 易语言QQ交流群:1013105 (最先发布模块更新与帮助)
查看更新记录

部分功能介绍

全局异常捕获 - 原生支持多线程

  • 能够捕捉到出错代码在IDE中的具体位置,接管易语言的错误提示,天生支持多线程、子程序穿插调用
  • 经过测试在「i7 8700k」上执行一千万次循环耗时约100毫秒;记录代码流程运行耗时约500毫秒
  • 支持记录代码执行流程,在多线程中能够清晰地了解程序代码执行过程,方便分析异常原因 [点击查看效果图]
  • 本类是无锁的设计,丝毫不影响多线程的效率!可设置自己的RSA秘钥用于代码信息加密,能够安全地用于正式发布的软件上~
    并且实现了远程接收异常的详细信息数据,只要软件出错就会全自动上报到指定的服务器中
  • 配套工具在群文件下载
  • 使用教程:https://www.bilibili.com/video/BV1ot4y1q7B6/
    https://www.bilibili.com/video/BV1zo4y1m7mW/

线程池 - 可直接传递字节集参数

  • 我的线程池内部有一个工作线程,用来控制内部子线程的创建
  • 线程自动回收:一定时间内没有接收到新任务,多余线程会被自动收回,总线程数减少至设定的最小线程数;以免空跑循环吃资源
  • 最小/最大线程数、最大队列数、线程空闲回收时间、线程初始栈大小 均可「随时修改」并且是实时生效的
  • 经过多次暴力测试与纠正,不会有内存/句柄出现泄漏的情况,稳就一个字~
  • 加入队列:每个队列可以选择执行不同的子程序,以及直接传递字节集数据;并且在执行的子程序中可以调用:线程池.取任务参数(队列ID) 来获得传递过来的字节集内容~具体请看压缩包内附带的例子
  • 内部对超大量投递的队列进行了性能优化处理,同时不影响每条队列的响应速度,做到了真正的千万级时速
  • 可以随时暂停/恢复工作,包括正在执行中的队列也会暂停/恢复(可选)

内存池 - 用于提升软件的内存分配速度

  • 我原创的纯易语言代码实现低碎片高性能内存池方案, 原生线程安全,并且实现了内存归还给操作系统的功能(定时扫描)
    额外封装了微软的mimalloc内存池,并且优先使用,如果当前系统不支持则自动切换到我自己写的内存池

多线程安全调用窗口组件

  • 额外写了一个新的模块,该模块允许用户进行简单地初始化后,即可在多线程代码中无脑操作读写窗口组件数据(无锁)
    不会出现任何异常情况,新的模块因为封装了易语言窗口组件,所以额外附带了扩展界面等支持库
    也正是这个原因,所以才与主模块进行拆分(避免影响到黑月编译)。模块源码与使用例子在群文件目录:其它模板

co 协程库

  • 基本概念:
      1.协程是运行于线程中的轻量级调度单位
      2.协程之于线程,类似于线程之于进程
      3.一个进程中可以存在多个线程,一个线程中可以存在多个协程
      4.协程所在的线程一般被称为调度线程
      5.协程发生 io 阻塞或调用 sleep 等操作时,调度线程会挂起此协程
      6.协程挂起时,调度线程会切换到其他等待中的协程运行
      7.协程的切换是在用户态进行的,比线程间的切换更快
  • 协程非常适合写网络程序,可以实现同步的编程方式,不需要异步回调,大大减轻了程序员的思想负担
  • co 协程库实现的是一种类似 golang 的协程,有如下特性:
      1.支持多线程调度,默认线程数为系统 CPU 核数。
      2.共享栈,同一线程中的协程共用若干个栈(大小默认为 1MB),内存占用低,Linux 上的测试显示 1000 万协程只用了 2.8G 内存(仅供参考)
      3.协程创建后,始终在同一个线程中运行,而不会切换到其他线程
      4.各协程之间为平级关系,可以在任何地方(包括在协程中)创建新的协程
  • 模块内部将大量的同步等待代码进行了协程化处理,在协程上可以实现更高的性能
  • VMP壳加强适配版本

    • 全新版本的模块利用了易语言5.92新增的条件编译功能,实现了可以在同一个源代码中编译出不同类型的模块代码
      新编译了一个 带 _vmp.ec 后缀的版本,该版本会将模块内部大部分不依赖性能的命令使用VMP虚拟机加密,能够更好地保护你的程序

    Cookie智能管理(线程安全)

    • 内部自动处理cookie信息 Max-Age、Secure、domain、path 与浏览器的处理方式差不多
    • 比其它易语言模块的Cookie管理更标准,而且可以避免很多目标网站在cookie设下的大坑
    • 我这个应该是易语言史上最完美的Cookie管理类,是完全按照Cookie规则来处理的
    • 在多线程中可以不加锁直接操作,内部自带锁,考虑过去除内部临界许可,但是那样效率会很低
    • Cookie操作方法中都带有一个参数【唯一标识】;对每个cookie做标记,适用于多账号POST登录处理时的Cookie管理
      当然也有其它特殊用途,自己发掘吧~

    hp-socket

    • HP-Socket是一套通用的高性能TCP/UDP/HTTP 通信框架,包含服务端组件、客户端组件和Agent组件,广泛适用于各种不同应用场景的TCP/UDP/HTTP通信系统,提供C/C++、C#、Delphi、E(易语言)、Java、Python等编程语言接口。HP-Socket对通信层完全封装,应用程序不必关注通信层的任何细节;HP-Socket提供基于事件通知模型的API接口,能非常简单高效地整合到新旧应用程序中。
    • 模块内部深度封装了同步通讯功能,仅需三句代码即可实现,兼容多线程!具体使用方法请看例子
    • 本模块是以中文封装命令,每个子程序/参数都有详细的注释,多看看就懂用了
    • 目前只封装了pack模型,已经能够完美支持自己程序相互通讯了,以后封装其它模型
    • 压缩包内附带远程屏幕差异传输例子,包含 [客户端断线重连、数据打包传输] 比较容易理解的方案,有兴趣的朋友可以看看

    Curl (封装自zycurl,不会有冲突)

    • Curl是一个利用URL语法在命令行下工作的文件传输工具,1997年首次发行。
      它支持文件上传和下载,所以是综合传输工具,但按传统,习惯称cURL为下载工具。
      Curl还包含了用于程序开发的libcurl(模块封装的就是这个)
      Curl支持的通信协议有FTP、FTPS、HTTP、HTTPS、TFTP、SFTP、Gopher、SCP、Telnet、DICT、FILE、LDAP、LDAPS、IMAP、POP3、SMTP和RTSP。
      Curl还支持SSL认证、HTTP POST、HTTP PUT、FTP上传, HTTP form based upload、proxies、HTTP/2、cookies、用户名+密码认证(Basic, Plain, Digest, CRAM-MD5, NTLM, Negotiate and Kerberos)、file transfer resume、proxy tunneling。
    • 本模块封装了Curl大部分功能,Curl的一些功能调用比较复杂,你可能需要花时间研究才行
    • 模块额外对Curl的HTTP功能进行了封装整合,使得调用更加方便:L_curl_http2winhttp(类)
      本类特点:深层次的封装、全局连接缓存更适合多线程使用、内部Cookie同步机制与 L_winhttp(类) 相同
      直接把本类当做winhttp对象一样调用即可;经过测试,6000线程稳定运行 并且将模块的全局内存池挂接到了Curl内部的内存分配函数中,进一步拉高了使用Curl相关功能时的性能上限
    • L_curl_smtp(邮件发送类) 稍微有一点点复杂,以后会考虑再深度封装一下

    大漠插件

    • 完美兼容黑月,模块内的大漠命令调用未添加任何无关代码、天生支持多线程、效率第一
    • 内置四个大漠插件类模块(全部都是免注册调用的)分别是:
      L_大漠插件 (3.1233版本的普通封装)
      L_大漠插件_附带DLL (内置3.1233版本的DLL文件)
      L_大漠插件破解版 (5.1423版本破解,自带DLL文件,所有收费功能都可以直接使用)
      L_大漠插件_付费版 (对7.1814版本功能的封装)

    DD驱动键盘鼠标类

    • 最多用户选择,最简单易用,最稳定可靠 永久免费 系统底层集成,真正的驱动级硬件模拟 一键安装,即为电脑添加一对可完全编程控制的键盘鼠标,轻松自动化操作电脑 适用VB6,DELPHI,VC,BC,VB.NET,C#,JAVA,易语言等各种编程语言 支持 WINXP 及以上 32位和64位操作系统 个人桌面应用和游戏工作室装机必备
    • 本模块封装了普通免安装版,一键调用,内部自动转换键代码,非常方便~

    键盘/鼠标连发

    • 使用本功能开发 DNF连发程序 仅需要5行代码即可实现基础连发功能(有例子)
    • 真正意义上的连发,按住鼠标/键盘指定键即可实现重复单击这个键,默认自动屏蔽windows自带的重复按键
    • 内部有一个回调,可以自己写执行模拟键盘鼠标代码,可以是驱动也可以是别的,详情请看压缩包附带的例子

    监视热键

    • 花了很多心思弄这个,解决了很多情况下游戏屏蔽热键的问题,有些屏蔽强的游戏触发率也能保持在98%以上
    • 同时兼容两种键代码:区分左右键或不区分左右键的键代码,以及兼容小键盘上的键代码
    • 内置键盘钩子与线程消息队列,内部已处理好按下与放开的事件,使用方便并且键盘按住不会重复触发事件,从按下到放开都只会分别触发一次
    • 按下/放开事件是在线程中执行的,不会影响到键盘的正常输入;请尽量不要在回调事件里面执行死循环代码


    v3.2.6.20211102

    更新内容 - 红色字段代表比较重要的更新或提示

    • 新增:L_运算_取随机数() >>> 快速模式(如果为真,则强制不使用RdRand指令)
    • 新增:L_全局_异常捕获(类) >>> 初始化() >>> 内存堆异常检测参数 - 默认为假;开启本功能可检测内存堆损坏的情况(会损失部分性能)
    • 新增:L_整数型数组_创建() >>> 使用内存池 - 指定内部是否使用内存池进行内存分配,默认为真
    • 新增:L_字节集类型_*()丶L_字节集数组_*()丶L_字节集_分割从数据指针()丶L_字节集_分割从字节集()丶L_定长数组_*()
    • 新增:L_保护_检测虚拟机() 检测软件是否运行在虚拟化平台上 原作者帖子

    • 优化:L_全局_内存池(类) 内存块存储方式调整为 L_整数型数组_*() 性能提升
    • 优化:L_全局_内存池(类) 内存分配数量阈值调优,性能更高了(小内存块的预分配数量为32-64KB)
    • 优化:L_文本类型_*() 部分命令优化,避免写又臭又长的子程序名称,功能不变
    • 优化:删除了 文本类型、字节集类型丶文本型数组丶字节集数组丶整数型数组 中的 减少引用计次(),统一使用 销毁() 来管理
    • 优化:L_文本_取随机字符()、L_文本_取随机数字() 性能提升
    • 优化:调整部分窗口句柄、进程操作

    • 修复:L_文本类型_插入数据* 中计算插入位置的BUG
    • 修复:L_整数型数组_删除成员() 在成员数为1的时候并不会删除成员的逻辑BUG
    • 修复:L_全局_内存池(类) 内部控制线程在归还内存给操作系统时数组越界的BUG
    • 修复:L_winhttp(类) 在协程中运行会导致返回数据全空的问题(代码写错了)

    • 异常捕获配套工具更新:
      1.适配模块增加的新参数:内存堆异常检测
      2.在解析代码的地方提前检测子程序是否有批量注释
      3.填写IP的地方增加了个快捷键:鼠标右键快速输入 127.0.0.1 方便调试使用

    v3.2.5.20211010

    更新内容 - 红色字段代表比较重要的更新或提示

    • 新增:L_协程(类) 封装自co协程库,感谢 醉酒成梦° 提供的帮助。查看详细介绍
    • 新增:L_全局_内存池(类) 内部重新封装mimalloc内存池(在非XP系统下启用)
    • 新增:L_全局_异常捕获(类) 将以前的栈回逆功能添加进去了

    • 优化:L_全局_内存池(类) 解决了使用mimalloc内存池时线程数量过多导致内存占用非常大的问题
    • 优化:L_线程许可区(类) L_超时等待(类) L_读写锁(类) L_winhttp(类) 进行了协程化处理
    • 优化:异常捕获在使用远程服务器接收信息时,如果TCP连接断开了,将会尝试重新连接
    • 优化:如果异常捕获向远程服务器发送异常数据失败,将正常弹出错误提示

    • 修复:L_原子锁_* 返回值与预期不同的问题导致连带着其他功能出现小问题
    • 修复:L_线程池(类) 在还有队列时执行 线程池.销毁() 或 线程池.停止并清除所有任务() 会崩溃的问题
    • 修复:L_全局_异常捕获(类) "欲操作的内存地址" 这个值一直是0的BUG
    • 修复:L_按键连发(类) 的一处逻辑BUG
    • 修复:模块内编码转换功能的一处可能导致异常的隐患

    • Curl库升级至7.79.0版本,重新下载Ling.dll替换即可生效(记得先关闭易语言进程)

    v3.2.4.20210909

    更新内容 - 红色字段代表比较重要的更新或提示

    • 内存池:模块内部的全局内存池(L_内存池) 新增内存归还到系统的功能,并且提升了大量线程并发申请/释放内存的性能;
      删除了之前额外封装的mimalloc内存池库,经过测试发现这个库有小问题
    • 新增:模块内部的资源文件(大漠插件等)会在每次编译时自动加密(每次生成的加密内容都不同) 避免被第三方恶意检测
    • 新增:L_线程许可区(类) >>>> 置简易模式() 该功能允许在同一条线程内进入无数次,在需要退出的地方仅需退出一次即可(默认开启)
    • 新增:L_文本_匹配通配符A()、L_文本_匹配通配符W()、L_文本_匹配通配符W2() 高性能的通配符匹配,支持多组数据。原作者:醉酒成梦°
    • 新增:L_文本_分割文本从文本型()、L_文本_分割文本从数据指针() 超高性能的文本分割功能
      后期将会把 L_快速文本(类) L_快速字节集(类) 全部改写成 L_文本类型_* L_字节集类型_*
    • 新增:大量的数组操作功能(寻找、取值、排序等),支持自定义数据类型(快速排序法),相关例子在群文件,原作者:落叶
    • 新增:L_文本类型_取中间到文本型()、L_文本类型_取中间到文本类型()、L_文本类型_取左边到文本型()、L_文本类型_取左边到文本类型()
      L_文本类型_取右边到文本型()、L_文本类型_取右边到文本类型()

    • 优化:L_Curl_http2winhttp(类) >>>> send() POST提交文本型数据的时候内部会默认处理一下UTF8编码,避免出现兼容性问题
    • 优化:模块宏插件现在会缓存内部编译的数据,在易语言不关闭的状态下,重复调试/编译软件时能提升编译速度,避免重复加载
    • 优化:修正模块内所有关于 "线程初始栈" 的备注文本与行为控制

    • 修复:HPSocket类 重复销毁时会导致软件崩溃的问题
    • Curl库升级至7.78.0版本,重新下载Ling.dll替换即可生效(记得先关闭易语言进程)

    v3.2.3.20210805

    更新内容 - 红色字段代表比较重要的更新或提示

    • 新增:L_异常捕获(类) >>>> 初始化() 增加了三个参数:自定义上报异常信息服务器IP、服务器端口、自定义上报软件名称
      以后就可以使用异常捕获工具直接远程接收到详细的异常信息了,不再需要让软件用户主动打包数据给我们
      异常捕获工具更新至4.0版本,具体使用方法等我录制教程(不难,就点点鼠标的事情)
    • 新增:L_字节集_倒找字节集()、L_字节集_倒找字节集2() 自动选择SSE2、AVX2版本,作者:落
    • 新增:L_队列(类) >>> 置快速响应阈值() 当队列数小于或等于阈值时,牺牲大量压入时的性能让多线程压入后弹出的响应速度得到提升
    • 新增:L_键盘_置禁止重复击键()、L_键盘_置允许重复击键() 设置系统禁止/允许在按住键盘某个键时的自动连击功能
    • 新增:L_全局_是否64位系统(全局变量) 64位=真.32位=假;软件可以通过判断本变量确定是否运行在64位系统中
    • 新增:L_进程_取内存占用信息(进程ID)、L_系统_取内存状态() 用于实时获取当前系统内存占用状态

    • 优化:L_线程池(类) 联动 L_队列(类) 新增的 自定义快速响应阈值,将其与 最大线程数 绑定(旧版本阈值是默认锁定1000)
      达到的效果是:当线程池内部有空闲线程的时候,自动注重响应速度(在执行 加入队列() 的瞬间就会被执行)
      当线程池满载运行的时候,自动停止内部使用 事件 的功能,提升了大批量 加入队列() 时的性能(在我的硬件上大约提升7倍)
    • 优化:L_全局_内存池(类) 引入了微软的mimalloc内存池库(在非XP系统时自动切换使用)
    • 优化:L_字节集_寻找字节集()、L_字节集_寻找字节集2() 提升小部分性能
    • 优化:L_系统_取启动时间() 速度提升了一倍
    • 优化:模块内大量寻找文本的代码替换成了 L_文本_寻找文本();性能提升很多
    • 优化:L_按键连发(类) 的内部控制逻辑,避免潜在bug;L_鼠标连发(类) 的控制逻辑同步修改

    • 修复:L_异常捕获(类) 部分异常信息无法正确触发响应的问题
    • 修复:L_按键连发(类) L_鼠标连发(类) 句柄泄漏的情况
    • 修复:L_进程_取命令行() 句柄泄漏的情况,并且现在同时支持32*64位系统了
    • 修复:L_字节集_到文本格式() 在传入空字节集的时候只返回 "}" 的问题

    本文链接:https://www.9ifuzhu.com/emk/1908.html

    上一篇:没有了

    下一篇:软件定制骗子QQ:2637731298 1728819401 两个同伙作案

    易语言模块 - 最新内容

  • 用户:星有灵心 发表评论:自己网站都不发呀 评论时间:2021-4-2 22:29
  • 用户: 发表评论:小白鼠来啦 评论时间:2019-2-27 15:22
  • 用户: 发表评论:这个弹幕不错的说小白鼠来啦 评论时间:2019-2-27 15:22
  • 用户: 发表评论:凌哥,出一个像你网站一样的弹幕 教程,可好! 评论时间:2018-7-12 22:38
  • 用户:suyuxiao 发表评论:必须支持 评论时间:2018-6-22 3:58
  • 用户: 发表评论:咋了? 评论时间:2018-6-21 21:14
  • 用户: 发表评论:抓到你了 评论时间:2018-6-9 11:07
  • 用户:玖爱辅助网 发表评论:黑月编译 评论时间:2018-2-12 14:05
  • 8