# FileSync **Repository Path**: xiaoaoc/file-sync ## Basic Information - **Project Name**: FileSync - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-11-30 - **Last Updated**: 2025-12-03 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 文件同步工具 (File Sync) 一个高效的文件同步工具,支持单向和双向同步,适用于目录之间的文件比较与同步操作。 ## 项目简介 本项目旨在提供一个可靠的文件同步解决方案,支持以下功能: - **文件比较**:扫描目录并比较文件的差异。 - **任务队列**:管理同步任务,支持多线程执行。 - **双向同步**:支持两个目录之间的双向同步,并处理冲突。 - **日志记录**:详细记录同步过程中的操作日志。 - **进程间通信**:通过管道实现多线程任务调度。 ## 功能特性 - 单向同步与双向同步模式。 - 支持多种冲突解决策略。 - 多线程执行以提高同步效率。 - 支持日志记录,便于调试与审计。 - 提供 IPC 支持,用于任务调度。 ## 项目结构 ``` │ bidir_exec.c │ bidir_exec.h │ bidir_sync.c │ bidir_sync.h │ CMakeLists.txt │ common.h │ FileSync_zh_CN.ts │ ipc.c │ ipc.h │ logger.c │ logger.h │ main.cpp │ main.qml │ qml.qrc │ scanner.c │ scanner.h │ sync_engine_wrapper.cpp │ sync_engine_wrapper.h │ task_queue.c │ task_queue.h │ thread_pool.c │ thread_pool.h ``` - `scanner.c`:目录扫描模块,用于构建文件树并比较差异。 - `task_queue.c`:任务队列管理模块。 - `thread_pool.c`:多线程任务执行模块。 - `bidir_sync.c`:双向同步逻辑,处理冲突。 - `bidir_exec.c`:执行双向同步操作。 - `ipc.c`:进程间通信模块,用于任务调度。 - `logger.c`:日志记录模块。 - `sync_engine_wrapper.cpp`:提供 QML 接口以支持图形界面操作。 - `main.cpp`:程序入口点。 ## 使用说明 ### 编译 确保已安装 CMake 和 C++ 编译器,然后运行以下命令: ```bash mkdir build cd build cmake .. make ``` ### 运行 编译完成后,运行程序: ```bash ./file-sync ``` ## 依赖项 - CMake - GCC/G++ 或 Clang - Qt(如需图形界面支持)