Opened 3 years ago

Closed 3 years ago

Last modified 3 years ago

#29 closed ожидается проверка (задача сдана)

Lab02 Novozhilov Aleksandr

Reported by: novozhilov.aleksandr Owned by: Антон Филатов
Component: WW_strings Version: 1.0
Keywords: Cc:

Description


Change History (6)

comment:1 Changed 3 years ago by Антон Филатов

Type: ожидается проверкаожидаются исправления
Version: 1.0

ошибка при сборке

make
mkdir -p obj
mkdir -p dep
rm -rf obj/*
gcc -Iincludes -MMD -MF dep/str.d -c src/str.c -o obj/str.o
src/str.c: In function ‘my_strlen’:
src/str.c:16:10: error: ‘s’ undeclared (first use in this function)
  while (*s++) {
          ^
src/str.c:16:10: note: each undeclared identifier is reported only once for each function it appears in
Makefile:33: recipe for target 'obj/str.o' failed
make: *** [obj/str.o] Error 1

И снова повторю, что никаких dep файлов делать не стоит.
Структура должна быть ровно такой, как написано на гите, и ничего другого. Также include, а не includes

Я не могу напустить на вашу программу автотесты, но кажется, что в функции strcmp вот эта строка
while (*string1++ == *string2++);
будет падать на строчках разной длины. 0/7 за корректность
Стиль:
файлу test_str.c явно не хватает структурирования - разделения пустыми строками хотя бы по разным тестам. 2,5/3 за стиль

Итого 2,5/10

comment:2 Changed 3 years ago by novozhilov.aleksandr

А мне зависимости хеадеров прописывать ручками? А что, если у меня будет не 5-6 файлов, а 20-40? Про недекларированную s ок, залил в две разные ревизии. Про то, что не будет работать на строчках разной длины - в какой-то строчке встретится 0, и он явно не будет равен символу другой строки, поэтому исполнение прекраиться. Но я это еще раз перепроверю.

comment:3 Changed 3 years ago by novozhilov.aleksandr

Type: ожидаются исправленияожидается проверка

comment:4 Changed 3 years ago by Антон Филатов

А мне зависимости хеадеров прописывать ручками? А что, если у меня будет не 5-6 файлов, а 20-40?

Зависимости хедеров между собой регулируются включением хедеров друг в друга. Вряд ли вы будете сразу 40 хедеров инклюдить в один. Подключение всех 20 хедеров к с-файлам регулируется флагом -I в мэйкфайле.

Папка includes должна называться include
Исполняемый файл должен называться lab_02, а не tests

Я не нашёл ревизии, где вы фиксите ошибку с *s++. В финальной версии эта ошибка по-прежнему присутствует. Исправил ваш код вручную. Сдаётся мне, что вы забыли залить обновлённую версию.

Падают тесты на strcmp: my_strcpm("","") == 0 и my_strcmp("aaa", "aaa") == 0 падают с сегфолтом

Корректность: 4/7
Стиль:
по файлу test_str.c замечание осталось - не хватает пустых строк
2,5/3

Итого 6,5/10

Last edited 3 years ago by Антон Филатов (previous) (diff)

comment:5 Changed 3 years ago by Антон Филатов

Resolution: задача сдана
Status: assignedclosed

comment:6 Changed 3 years ago by novozhilov.aleksandr

Да, я забыл залить изменения :(((

Note: See TracTickets for help on using tickets.