本帖最后由 阿龙 于 2023-1-18 21:42 编辑
标准模板库 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() 取控制台编码() 置控制台编码() 分离控制台()
网络通信: .修改
端口是否可用() 应用接口支持库的端口检测优化版本,尝试连接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日更新小更一下
网络通信: .新增
端口是否可用() 应用接口支持库的端口检测优化版本,尝试连接tcp服务端,检测端口可用性。 发送网络消息() 应用接口支持库的"发送局域网信息"优化修改,在无需重复监听的发送操作中,向指定服务器发送信息,会自动进行IPV4IPV6的判断,类似UDP,但同样有TCP的可靠性,会尝试多次发送,内部完成握手连接发送,无需关注内部实现。
组件类: . 新增
调节器():和核心库的编辑框的调节器完全相同,单独组件增加自由度,可以绑定可编辑的组件或对话框。绑定编辑框W时注意取出的一定要是编辑框句柄而非容器句柄。
远程库:https://github.com/AlongsCode/eLibStl
动态库静态库例程:
1/18,修复静态编译问题(只维护vc2017linker以上)
最后更新时间 1/18,调运约定问题
LibStl.zip
(2.26 MB, 下载次数: 393)
|