# PQ 映射解析与追踪工具目录说明

本目录已整理为可打包运行结构。拷贝整个目录到其他电脑后，直接运行 `bin\pq_tool.exe` 即可启动界面。

## 目录结构

| 路径 | 说明 |
| --- | --- |
| `bin\pq_tool.exe` | 唯一可执行程序。无参数启动 GUI，带参数可执行命令行解析。 |
| `bin\rocketmq-client-cpp.dll` | RocketMQ 32 位运行库主文件。 |
| `bin\rocketmq.dll` / `bin\librocketmq.dll` | RocketMQ DLL 兼容名称，供加载器备用查找。 |
| `bin\libwinpthread-1.dll` | RocketMQ DLL 依赖的 MinGW 线程运行库。 |
| `source\` | 本工具源码目录，包含 `main.cpp`、`interface.cpp`、`mq.cpp`、`pq_app.h`、`tinyxml2`、`json.hpp`。 |
| `source\third_party\rocketmq-client-cpp-2.2.0-source-release\` | RocketMQ C++ 客户端源码备份。日常运行不需要重新编译它。 |
| `runtime\downloaded_xml\` | 获取台账后下载的 XML/ICD 文件。 |
| `runtime\trace_data\` | 按进程/装置/测点保存的追踪数据、origin、jsondata 和生成表格。 |
| `runtime\json\` | 运行中保存的接口 JSON、MQ 配置、最近一次追踪请求、MQ outbox。 |
| `runtime\logs\` | MQ 消费日志和 RocketMQ 运行日志。 |
| `build.bat` | 从 `source` 编译程序，默认输出到 `bin\pq_tool.exe`。 |

## 使用方式

启动界面：

```bat
bin\pq_tool.exe
```

命令行解析：

```bat
bin\pq_tool.exe path\device.xml path\jsondata.txt path\origin1.txt path\origin2.txt
```

重新编译：

```bat
build.bat
```

C 盘临时目录空间不足时：

```bat
set PQ_BUILD_TEMP=D:\pq_rocketmq_build\tmp
build.bat
```

注意：程序和 RocketMQ DLL 都是 32 位，重新编译时必须使用 32 位 i686 MinGW。
