Skip to content

Commit 71663aa

Browse files
committed
Updated: 最后的修改
1 parent a33227a commit 71663aa

13 files changed

Lines changed: 299 additions & 128 deletions

File tree

‎.github/CHANGELOG.md‎

Lines changed: 270 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,272 @@
11
# Changelog
22

3+
## English
4+
5+
---
6+
7+
### 2026-08
8+
9+
#### Added
10+
- FreeBSD support for CPU and memory information retrieval
11+
- `du` demo program for checking disk usage under a specified path
12+
- FreeBSD CI workflow for automated testing
13+
- Wide character output support in `Terminal` module
14+
- Standard time format output in `DateTime` module
15+
- Escape sequence support in `DateTime` format strings to avoid unnecessary parsing
16+
- Additional `Socket` options in `Net` module
17+
- `ping` demo program for network connectivity testing
18+
- `IniParser` class for INI configuration file parsing
19+
- XMake build system support
20+
- Multiple architecture support in CI workflows
21+
- Custom `Socket` option configuration in `Net` module
22+
- Hostname resolution to IP address conversion in `Net` module
23+
- `std::cout`-like stream-style output in `Terminal` module
24+
- Additional test files to enhance `Net` module stability
25+
- Windows MSVC/MinGW64 compiler CI workflows
26+
27+
#### Fixed
28+
- Segmentation fault when frequently polling events in Unix environment
29+
- Compilation errors in Unix-like systems
30+
- `/` directory recognition issue in Linux/Mac for `File` module
31+
- Known issues in `ping` program
32+
- FreeBSD CI workflow build issues
33+
- Package retrieval failure in FreeBSD workflow
34+
- Unit test file compilation errors
35+
- Compilation issues in Unix environments
36+
- Improper handling of alternative installation paths in workflows
37+
38+
#### Changed
39+
- Enhanced `Renderer` rendering mechanism and `Terminal` continuous wide character output handling
40+
- Strengthened `TUI` module and adjusted related APIs
41+
- Optimized `Net` module functionality for proper `ping` feedback
42+
- Reverted version number to `0.X.X` in source code
43+
- Updated CMake/XMake configuration files
44+
- Optimized `Net` module with registered available `Socket` options
45+
- Adjusted `TUI` module and introduced `Net` module (preliminary)
46+
- Enhanced `Terminal` API with stream-style output
47+
- Improved workflow for multi-platform support
48+
49+
---
50+
51+
### 2026-07
52+
53+
#### Added
54+
- Linux CI workflow
55+
- macOS CI workflow
56+
- `Tree` demo program
57+
- Formatted string pattern support in `TUI` module
58+
- Optimized `Event` module with new features
59+
- New demo programs
60+
61+
#### Fixed
62+
- Workflow-related issues
63+
- Minor issues in `DateTime` class
64+
- Compilation issues in unit test files
65+
- Various known issues in `OS` module
66+
67+
#### Changed
68+
- Updated version to 1.1.1
69+
- Refined `DateTime` module details
70+
- Completed and optimized CI workflows
71+
- Updated all module documentation
72+
- Optimized `TUI` module
73+
- Optimized `OS` module with bug fixes
74+
- Optimized `Events` module and related test units
75+
76+
---
77+
78+
### 2026-06
79+
80+
#### Added
81+
- `EventsMap` for multi-event management
82+
- `Misc` module in `Demo` for development efficiency
83+
- Dialog box demo program
84+
- Editor demo (preliminary)
85+
- Mouse event support in `Terminal` (Windows)
86+
- `Renderer` fill row/column functions
87+
- Auto-redraw on window resize for `Renderer`
88+
89+
#### Fixed
90+
- Unicode display issues in terminal
91+
- Windows early version API compatibility issues
92+
- Mouse button detection logic in Unix-like systems
93+
- `TUI` logic issues and internal function improvements
94+
95+
#### Changed
96+
- Added LICENSE header to test files
97+
- Updated docs and API documentation
98+
- Enhanced `CommandParser` parsing functionality
99+
- Added more special key support for Windows
100+
- Significantly optimized Unix (Linux/Mac) input logic with boundary checks
101+
- Modified API for format string with nested parsing support
102+
103+
---
104+
105+
### 2026-05
106+
107+
#### Added
108+
- `DateTime` module for date/time handling
109+
- Time unit user-defined literals
110+
- Local time to UTC conversion and vice versa
111+
- `File` module for cross-platform file operations (Windows, Linux, macOS, Unix)
112+
- `TUI` module for terminal user interface
113+
- `Events` module for asynchronous event management
114+
- `OS::System` module for system information (CPU, memory, disk)
115+
- `Terminal` module for terminal control (raw mode, cursor, colors)
116+
- `CommandParser` module for command-line argument parsing
117+
- `Path` class for path handling
118+
- CMake build system configuration
119+
- Initial project structure with `File` module (Windows-only initially)
120+
121+
#### Fixed
122+
- Known issues in `DateTime` module
123+
- Unix system compatibility for `DateTime`
124+
- C++11 compilation issues in `File` module
125+
- Logic issues in `File` module
126+
- Unix-like system compilation issues
127+
- Build system configuration
128+
129+
#### Changed
130+
- Completed `DateTime` module implementation
131+
- Updated all project documentation
132+
- Improved `File` module read/write mechanism
133+
- Updated README documentation
134+
- Added `TINY_CPP_MY_OS_WINDOWS` and `TINY_CPP_MY_OS_UNIX` macros for platform detection
135+
- Initial project setup and first commit
136+
- Established `dev` branch for development
137+
138+
---
139+
140+
## 中文
141+
142+
---
143+
144+
### 2026 年 8 月
145+
146+
#### 新增
147+
- 新增 FreeBSD 系统下获取 CPU、内存等信息的支持
148+
- 新增 `du` 示例程序,用于查看指定路径下占用的数据大小
149+
- 新增 FreeBSD CI 工作流进行自动化测试
150+
- Terminal 新增宽字符输出支持
151+
- DateTime 新增输出标准时间格式
152+
- DateTime 格式化字符串新增转义字符支持,避免不必要的解析
153+
- Net 模块新增更多 Socket 选项
154+
- 新增 `ping` 示例程序用于测试网络连通性
155+
- 新增 IniParser 配置文件解析器
156+
- 新增 XMake 构建系统支持
157+
- 新增多平台多架构 CI 工作流支持
158+
- Net 模块新增自定义 Socket 设置功能
159+
- Net 模块增加支持解析主机名并转换为 IP 地址的功能
160+
- Terminal 新增流式输出 API(类似 std::cout 效果)
161+
- 新增测试文件以加强 Net 模块稳定性
162+
- 新增 Windows 系统下 MSVC/MinGW64 编译器的 CI 工作流
163+
164+
#### 修复
165+
- 修复 Unix 环境下频繁获取事件时出现段错误的问题
166+
- 修复 Unix-like 系统下的编译错误
167+
- 修复 Linux/Mac 下不能正确识别 `/` 目录的问题
168+
- 修复 ping 程序部分已知问题
169+
- 修复 FreeBSD 工作流构建问题
170+
- 修复 FreeBSD 工作流无法获取包的问题
171+
- 修复单元测试文件的编译问题
172+
- 修复 Unix 下的编译问题
173+
- 修复安装路径非标准路径处理不当的问题
174+
175+
#### 变更
176+
- 优化 Renderer 渲染机制以及 Terminal 连续输出宽字符处理功能
177+
- 强化 TUI 模块,并进一步调整相关 API
178+
- 完善 Net 相关功能,使 ping 程序能够正常反馈
179+
- 版本号重新修正为 0.X.X
180+
- 修改 CMake/XMake 相关配置
181+
- 完善 Net 模块,注册了部分可用的 Socket 选项
182+
- 新增或调整 TUI 模块,新增 Net 网络模块(暂未完善)
183+
- 强化并新增 Terminal 相关 API,实现类似 std::cout 效果
184+
- 优化 CI 工作流以支持多平台
185+
186+
---
187+
188+
### 2026 年 7 月
189+
190+
#### 新增
191+
- 新增 Linux CI 工作流
192+
- 新增 macOS CI 工作流
193+
- 新增 Tree 示例程序
194+
- 新增格式化字符串模板模式支持
195+
- 优化 Event 模块并新增功能
196+
- 新增示例程序
197+
198+
#### 修复
199+
- 修复工作流相关问题
200+
- 修复 DateTime 类的细微问题
201+
- 修复部分单元测试文件的编译问题
202+
- 修复 OS 模块的已知问题
203+
204+
#### 变更
205+
- 针对 DateTime 类做了细微的修改
206+
- 完善 CI 工作流
207+
- 更新了所有模块的文档
208+
- 优化 TUI 模块
209+
- 优化 OS 模块并修复问题
210+
- 优化 Events 模块及其测试单元
211+
212+
---
213+
214+
### 2026 年 6 月
215+
216+
#### 新增
217+
- 新增 EventsMap 用于多事件管理
218+
- Demo 模块新增 Misc 辅助模块
219+
- 新增对话框示例程序
220+
- 新增编辑器示例(未完善)
221+
- Terminal 新增鼠标操作支持(Windows)
222+
- Renderer 新增填充行和列的功能
223+
- Renderer 支持窗口大小变化时自动重绘
224+
225+
#### 修复
226+
- 修复终端 Unicode 字符显示问题
227+
- 修复 Windows 早期版本 API 兼容性问题
228+
- 修复 Unix-like 系统下鼠标按键检测逻辑问题
229+
- 修复 TUI 逻辑问题及内部函数改进
230+
231+
#### 变更
232+
- 为测试文件添加 LICENSE 头
233+
- 更新文档及 API 文档
234+
- 增强 CommandParser 解析功能
235+
- Windows 添加更多额外特殊键支持
236+
- 大幅优化 Unix 输入逻辑及边界检查
237+
- 修改 API 支持格式化字符串嵌套解析
238+
239+
---
240+
241+
### 2026 年 5 月
242+
243+
#### 新增
244+
- 新增 DateTime 日期时间模块
245+
- 新增时间单位字面量支持
246+
- 支持本地时间与 UTC 时间转换
247+
- 新增 File 模块,支持跨平台文件操作(Windows、Linux、macOS、Unix)
248+
- 新增 TUI 终端界面模块
249+
- 新增 Events 异步事件管理模块
250+
- 新增 OS::System 系统信息模块(CPU、内存、磁盘)
251+
- 新增 Terminal 终端控制模块(原始模式、光标、颜色)
252+
- 新增 CommandParser 命令行参数解析模块
253+
- 新增 Path 路径处理类
254+
- 新增 CMake 构建系统配置
255+
- 初始项目结构,仅支持 Windows 的 File 模块
256+
257+
#### 修复
258+
- 修复 DateTime 模块已知问题
259+
- 修复 Unix 系统下 DateTime 兼容性问题
260+
- 修复 File 模块在 C++11 标准下的编译问题
261+
- 修复 File 模块逻辑问题
262+
- 修复 Unix-like 系统编译问题
263+
- 修复构建系统配置
264+
265+
#### 变更
266+
- 完善 DateTime 模块
267+
- 更新所有项目文档
268+
- 完善 File 模块读写机制
269+
- 更新 README 文档
270+
- 新增宏定义 TINY_CPP_MY_OS_WINDOWS 和 TINY_CPP_MY_OS_UNIX
271+
- 初始项目提交
272+
- 创建 dev 开发分支

‎docs/en/Events/Event.md‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,8 @@ The `Event` class provides asynchronous event management functionality, supporti
4141
#include "Events/Events.hpp"
4242
```
4343

44+
**p.s: On other Unix systems, when compiling a single file, you may still need to manually include the `pthread` static library.**
45+
4446
---
4547

4648
## 3. Constructors

‎docs/en/Net/Net.md‎

Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,8 @@ The module supports both Windows and Unix-like systems (Linux, macOS) through co
4141
#include "Net/Socket.hpp"
4242
```
4343

44+
**p.s: On Windows, when compiling a single file, you need to manually include the `ws2_32` static library.**
45+
4446
**Platform Macros**:
4547
- `TINY_CPP_MY_OS_WINDOWS` - Enable Windows socket support
4648
- `TINY_CPP_MY_OS_UNIX` - Enable Unix socket support (Linux, macOS, etc.)
@@ -63,23 +65,13 @@ If not explicitly defined, the module automatically detects the platform based o
6365

6466
**Description**: Platform-specific socket handle type. On Windows, it's a 64-bit unsigned integer (SOCKET type). On Unix systems, it's an integer file descriptor.
6567

66-
### 3.2 Datas Type (Deprecated)
67-
68-
```cpp
69-
using Datas = std::vector<char>;
70-
```
71-
72-
**Description**: Byte array type for network data transmission, used for binary send/receive operations.
73-
74-
> **Deprecated**: Use `NetDatas` instead. `Datas` will be removed in v0.4.0.
75-
76-
### 3.3 NetDatas Type
68+
### 3.2 NetDatas Type
7769

7870
```cpp
7971
using NetDatas = std::vector<char>;
8072
```
8173

82-
**Description**: Byte array type for network data transmission, used for binary send/receive operations. This is the replacement for the deprecated `Datas` type.
74+
**Description**: Byte array type for network data transmission, used for binary send/receive operations.
8375

8476
---
8577

‎docs/en/OS/System.md‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,8 @@ The `OS::System` module provides system information retrieval and file system op
3434
#include "OS/System.hpp"
3535
```
3636

37+
**p.s: On Windows, when compiling a single file, you need to manually include the `pdh` and `advapi32` static libraries.**
38+
3739
---
3840

3941
## 3. Global Constants

0 commit comments

Comments
 (0)