Skip to content

Latest commit

 

History

History
45 lines (32 loc) · 1.57 KB

README.md

File metadata and controls

45 lines (32 loc) · 1.57 KB

Тестовое задание

Особенности

  • Поиск регистронезависимый, но это можно изменить добавив CASE_SENSITIVE в tsearch.h
  • Поддержана только английская локаль.
  • Алгоритм расчета чексуммы такой, каким его понял я: побитовая кольцевая сумма 32 разрядных слов.

Сборка

Используется система сборки cmake. Поддерживаются сборки:

  • Make (Linux, Mac)
  • MSYS2 (Windows)

Возможно соберется и будет работать в VS, но я не проверял.

mkdir build
cd build

cmake ..
# или
cmake -G "MSYS Makefiles" ..

make

# ./test -f ../../test/example.txt -m word -v people
# ./test -f ../../test/example.txt -m checksum
make run
# 13
# a15f40f

Цель: ./build/src/test

Структура

  • tsearch.cxx - Реализации 2 главных функций ТЗ
  • mmap.cxx - Реализация класса MmapReader для отображения файлов в память
  • main.cxx - Точка входа
  • input_data.cxx - Обработка аргументов командной строки
  • genskip.cxx - Генераторы шаблонов для более быстрого поиска
  • error.cxx - Определения локальных ошибок