经过一个半月的开发, SCLTK v6.4.0 即将进入功能冻结阶段, 接下来的一个月的开发将以性能优化和兼容性增强为主.

从此版本正式发布起, SCLTK 日后更新将以优化和维护为主, 针对新功能的开发将逐步减少 , 直到我想到新的活 --- 不用担心, SCLTK 仍然将保持活跃开发.

在此, 总结这一个半月的开发成果罢. (笑)


点击查看更多技术性内容
  • src/cpp_utils 移动至 include/cpp_utils.
  • cpp_utils/compiler.hpp: 新增.
  • cpp_utils/math.hpp: 新增.
  • cpp_utils/meta.hpp: 新增.
  • cpp_utils/function.hpp: 移除
  • cpp_utils/type_tools.hpp: 移除
  • cpp_utils/const_string.hpp (原 constant_string.hpp): 移除比较函数.
  • cpp_utils/const_string.hpp (原 constant_string.hpp): 添加 make_repeated_const_string<> 函数模板.
  • cpp_utils/const_string.hpp (原 constant_string.hpp): 重命名 constant_stringbasic_const_string, 修改相关类型别名.
  • cpp_utils/const_string.hpp (原 constant_string.hpp): basic_const_string<> 支持从 std::array<> 构造 (实现上推荐 std::array<> 对象避免以 \0 结尾)
  • cpp_utils/diagnostics.hpp: 微调 make_log 返回内容格式.
  • cpp_utils/multithread.hpp: 重命名 parallel_for_each_implparallel_for_each.
  • cpp_utils/multithread.hpp: parallel_for_each 形参中允许 std::is_same_v< decltype( begin ), decltype( end ) >false.
  • cpp_utils/multithread.hpp: 修复 parallel_for_each 中错误的对象移动.
  • cpp_utils/multithread.hpp: 优化 parallel_for_each 实现.
  • cpp_utils/multithread.hpp: 弃用 thread_manager.
  • cpp_utils/windows_app_tools.hpp: 新增服务和注册表操作相关函数.
  • cpp_utils/windows_app_tools.hpp: 新增 press_any_key_to_continue 函数 (即 "按任意键继续").
  • cpp_utils/windows_app_tools.hpp: 修改部分函数签名.
  • cpp_utils/windows_console_ui.hpp: 常量 func_backfunc_exit 类型从 func_return_t (bool) 改为枚举类型 func_action.
  • cpp_utils/windows_console_ui.hpp: 移除 func_args 成员变量的 const 限定符.
  • cpp_utils/windows_console_ui.hpp: 允许省略回调函数的形参中的 func_args.
  • cpp_utils/windows_console_ui.hpp: 修复 set_limits (先更名为 set_constraints) 成员函数在 is_lock_texttrue 时仍然可通过右键控制台空白处修改文本的问题.
  • cpp_utils/windows_console_ui.hpp: 重构 invoke_func_.
  • cpp_utils/windows_console_ui.hpp: 修改 get_event_ 中休眠时间从 50ms 降至 20ms.
  • cpp_utils/windows_definitions.hpp (原文件名拼写错误已修正): 添加服务和注册表相关值.
  • cpp_utils/windows_definitions.hpp (原文件名拼写错误已修正): 移除 console_text::default_attrs
  • cpp_utils/windows_definitions.hpp (原文件名拼写错误已修正): 新增 console_text::foreground_whiteconsole_text::background_white.
  • 封装 core 内部实现细节至命名空间 core::details.
  • 使用 cpp_utils::type_list<> 简化配置节点类注册.
  • 修改 core::config_node_impl 的部分成员函数名称及其调用的函数名称.
  • 移除 core::option_setcore::option_op.
  • 新增选项型配置的基类 core::details::basic_option_like_config_node<>.
  • 简化选项型配置的选项查找实现.
  • 优化选项型配置数据加载/同步性能.
  • 优化线程启动代码可扩展性.
  • 修改 core::default_thread_sleep_time200ms.
  • 优化破解/恢复执行管理器实现.
  • 优化破解/恢复在多线程执行时创建的线程数 (使用 std::ranges::max( std::thread::hardware_concurrency() / 2, 4u ) 决定).
  • 减少使用 lambda 表达式和函数对象以解决符号膨胀.
  • 使更多类的成员变量就地构造.
  • 编译期生成分割线.
  • 对部分常量进行限制.
  • 构建系统支持添加第三方库.
  • 构建系统支持直接打包 release 构建.
  • 编译 manifest-<arch>.o 时指定编码为 UTF-8.
  • 编译时移除符号表.
  • 链接时精简 sections.
  • 统一使用 GBK 文本编码.
  • 移除多余的锁定控制台操作.
转载请注明出处