62 lines
3.5 KiB
Markdown
62 lines
3.5 KiB
Markdown
|
||
# Для разработчиков
|
||
|
||
### Структура проекта:
|
||
|
||
```bash
|
||
Src
|
||
├── build/
|
||
│ └── build_and_clean.py # Билдинг проекта в .exe (через nuitka или pyinstaller)
|
||
├── DebugVarEdit_GUI.py # Главное окно
|
||
├── tms_debugvar_term.py # Терминал DebugVarTerminal
|
||
├── tms_debugvar_lowlevel.py # Виджет для выбора переменных для LowLevel Watch
|
||
├── var_table.py # Таблица выбранных переменных
|
||
├── var_selector_window.py # Окно выбора переменных
|
||
├── var_selector_table.py # Таблица переменных в окне выбора переменных
|
||
├── scan_progress_gui.py # Отображение процесса сканирования переменных
|
||
├── scan_vars.py # Сканирование переменных среди .c/.h файлов
|
||
├── generate_debug_vars.py # Генерация debug_vars.c
|
||
├── allvars_xml_parser.py # Парсинг XML со всеми переменными и структурами
|
||
├── csv_logger.py # Логирование переменных в CSV
|
||
├── myXML.py # Утилиты для XML
|
||
├── makefile_parser.py # Парсинг makefile на .c/.h файлы
|
||
├── var_setup.py # Подготовка переменных для окна выбора переменных
|
||
├── path_hints.py # Подсказки для автодополнения путей переменных
|
||
├── libclang.dll # Бибилиотека clang
|
||
├── icon.ico # Иконка
|
||
|
||
```
|
||
|
||
### Зависимости
|
||
|
||
Для запуска приложения:
|
||
- **Python 3.7+**
|
||
- **clang** — используется для парсинга C-кода (требуется `libclang.dll`, лежит в папке Src)
|
||
- **PySide2** — GUI-фреймворк
|
||
- **lxml** — работа с XML
|
||
> Python 3.7 и PySide2 рекомендуется для совместимости с Windows 7
|
||
|
||
Для сборки `.exe`:
|
||
- **Nuitka** — создает полностью автономный `.exe` без внешних зависимостей
|
||
- **PyInstaller** — создает `.exe` с зависимостью от `pythonXX.dll` (Python должен быть установлен для запуска `.exe`)
|
||
|
||
|
||
### Сборка:
|
||
Если вы хотите собрать `DebugVarEdit.exe` самостоятельно из исходников, используйте скрипт **build/build_and_clean.py**. Он автоматически собирает проект с помощью Nuitka или PyInstaller:
|
||
- Собирает проект в `DebugVarEdit.exe` в корневой папке.
|
||
- Включает:
|
||
- все необходимые `.dll` (например, `libclang.dll`),
|
||
- иконку (`icon.ico`),
|
||
- плагины PySide2.
|
||
- Очищает временные папки после сборки:
|
||
- `build_temp`
|
||
- `__pycache__`
|
||
- `<MAIN_SCRIPT_NAME>.*`
|
||
|
||
> Все пути, имена файлов, временные папки и выбор между Nuitka и PyInstaller можно настроить в начале файла `build_and_clean.py`.
|
||
|
||
### Установка зависимостей
|
||
|
||
```bash
|
||
pip install clang PySide2 lxml nuitka pyinstaller
|
||
``` |