易语言资源网 - 做最全的易语言资源下载社区
精易论坛授权登录

unicode核心库~小更一下,标准模板库LibStl   [复制链接]

    2023-01-29 09:42:47
    高级教程源码
    易语言资源网
    3433 次浏览
    来源链接

标准模板库 LibStl1月16日更新

核心库文本部分基本内容,A版速度使用string_view,速度远超核心库和官方版的通用对象支持库快速文本。
W版基本覆盖文本操作部分
具体看函数备注。
一些常用组件封装
核心库有的不在添加啦

     

  • 文本操作:   
    .修改

    • 寻找文本A()    std::find+std::string_view实现,KMP算法,下面有速度对比。
    • 取文本长度A()     屌用没有,想把所有A版都重做一遍呢,太累了,从此刻就结束了

    新增  
    • 寻找文本W()    
    • 取文本长度W()      
    • 到大写W()
    • 到小写W()
    • 到全角W()
    • 到半角W()
    • 倒找文本W()
    • 分割文本W()
    • 字符W()
    • 取代码W()
    • 取代码W()
    • 删首空W()
    • 删尾空W()
    • 删首尾空W()
    • 删全部空W()
    • 取文本左边W()
    • 取文本右边W()
    • 取文本中间W()


  • 算数运算:   
    .修改

    • 取随机数Ex()    std::random实现,无需置随机数种子。

    新增  
    • 角度到弧度()    
    • 弧度到角度()      
    • 是否素数()


   

  • 操作系统:   
    .修改

    • 信息框W()    增加参数"留存时间",不为空则为定时信息框,满足单位毫秒的时间后自动关闭,参数为uncidoe。

    新增  
    • 高级信息框W()     TaskDialog的封装,vc2019linker BUG修复 @1185384801
    • 是否为64位系统()


  • 磁盘操作:   
    .修改

    • 读入文件A()    std::fstream实现,速度没做对比,单纯是用起来简单。
    • 写到文件A() 同上

    新增  
    • 读入文件W()    
    • 写到文件W()
    • 清空目录W()
    • 创建目录W()
    • 删除目录W()
    • 删除文件W()


  • 控制台操作:   
    .修改

    • 标准输入W()   unicode输入流,使用注意编码。
    • 标准输出W() unicode输出流,使用注意编码。

    新增  
    • 打开控制台()     进程绑定置控制台,在窗口程序中打开控制台,并定位标准输出,标准输入方向。生命周期与进程同步,如果想关闭控制台不关闭程序请分离控制台
    • 置控制台标题W()
    • 取控制台编码()
    • 置控制台编码()
    • 分离控制台()


  • 系统处理:   
    新增  

    • 置剪辑板文本W()    
    • 取剪辑板文本W()


  • 网络通信:   
    .修改

    • 端口是否可用()   应用接口支持库的端口检测优化版本,尝试连接tcp服务端,检测端口可用性。
    • 发送网络消息()   应用接口支持库的"发送局域网信息"优化修改,在无需重复监听的发送操作中,向指定服务器发送信息,会自动进行IPV4IPV6的判断,类似UDP,但同样有TCP的可靠性,会尝试多次发送,内部完成握手连接发送,无需关注内部实现。

    新增  
    • 枚举网络类型W()    
    • 取本机IPW()
    • 是否已联网()


  • 环境存取:   
    新增  

    • 取运行目录W()    
    • 取完整路径W()
    • 规范化路径W()
    • 取执行文件名W()
    • 取命令行W()
    • 读环境变量W()
    • 写环境变量W()
    • 取特定目录W()


  • 进程线程纤程协程:   目前实现是通过win的纤程处理达到伪协程,因为标准库的无栈协程我试了,没办法静态编译。TX的libco挺好用,工业级但是没有windows的版本。有推荐的轻量级开源协程库可以留言,大的不要,太冗余不如直接用更专业的协程支持库或者模块。
    新增  

    • 禁止程序重复运行W()    
    • 原子递增()
    • 原子赋值()
    • 原子递减()
    • 原子运算()
    • 创建协程()
    • 切换协程()
    • 协程句柄是否有效()
    • 销毁协程()
    • 取当前函数协程句柄()
    • 结束进程()


  • 组件类:   
    修改  

    • 按钮W():unicode版本
    • 编辑框W() :unicode版本
    • 服务器Ex():ETCP的封装
    • 客户DuanEx():ETCP的封装
    • 媒体播放Ex():脱离窗口组件,能够黑月编译,增加部分成员函数、


1月17日更新

小更一下

         

  • 操作系统:   
    新增  

    • 高级信息框按钮 枚举类
    • 是否为64位系统()


  • 网络通信:   
    .新增

    • 端口是否可用()   应用接口支持库的端口检测优化版本,尝试连接tcp服务端,检测端口可用性。
    • 发送网络消息()   应用接口支持库的"发送局域网信息"优化修改,在无需重复监听的发送操作中,向指定服务器发送信息,会自动进行IPV4IPV6的判断,类似UDP,但同样有TCP的可靠性,会尝试多次发送,内部完成握手连接发送,无需关注内部实现。

    • 取本机IPW()
    • 是否已联网()


  • 组件类:   
    新增  

    • 调节器():和核心库的编辑框的调节器完全相同,单独组件增加自由度,可以绑定可编辑的组件或对话框。绑定编辑框W时注意取出的一定要是编辑框句柄而非容器句柄。


远程库:https://github.com/AlongsCode/eLibStl

动态库静态库例程:

1/18,修复静态编译问题(只维护vc2017linker以上)

最后更新时间 1/18,调运约定问题



点我下载 (已有 409 次下载)

引用模块


源码文件名 模块文件名
test.e
精易模块.ec


引用支持库


源码文件名 支持库文件名 支持库标识
test.e 系统核心支持库 5.7 d09f2340818511d396f6aaf844c7e325
标准模板库 1.1 9E98DDB731D5421890CAD9CC6C999442
通用对象支持库 2.0 {A068799B-7551-46b9-8CA8-EEF8357AFEA4}
特殊功能支持库 3.1 A512548E76954B6E92C21055517615B0
操作系统界面功能支持库 3.0 52F260023059454187AF826A3C07AF2A


[错误报告]   上一篇:可打断缓动动画 极致丝滑...     下一篇:纯源码实现 MQTT客户Duan...