Opened 5 years ago

Closed 5 years ago

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

WW #1

Reported by: Екатерина Иценко Owned by: Vasily Alferov
Component: WW_make Version: 2.0
Keywords: Cc:

Description


Change History (6)

comment:1 Changed 5 years ago by Vasily Alferov

Я не вижу домашки, в svn пусто :(
Ты точно сделала все команды из этого набора?

svn add <папка>
svn commit

Что выводит svn status в твоей папке с домашкой?
Если не получится залить в svn, напиши мне, попробуем разобраться.

comment:2 Changed 5 years ago by Vasily Alferov

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

comment:3 Changed 5 years ago by Vasily Alferov

Домашка дошла. Мне всё очень нравится, тут есть только несколько небольших замечаний.

  • Зависимость от bin должна быть во всех объектных файлах, так как мне может захотеться собрать только bin/algorithm.o, а папки bin существовать не будет.
  • -I./include можно писать только при сборке объектных файлов, линкеру его указывать не обязательно.
  • В файлах вида src/util.c принято первой строчкой подключать util.h. Причину мы, на самом деле, обсуждали на первой паре: так на этапе компиляции провалидируется, что функции в util.c имеют ту же сигнатуру, что и в util.h.
  • Давай уже использовать #pragma once или include guards, раз про них уже рассказали.
  • Почему-то у doComputation( void ) стоят пробелы между круглой скобкой и первым аргументом, а у max(int x, int y) — не стоят. А ещё у int main() почему-то нет void, а у doComputation( void ) — есть. Давай сделаем в этих местах одинаково: либо нигде нет void, либо везде есть, и аналогично, либо нигде нет пробелов после скобки, либо везде есть.
  • В util.c: printf("%s", &ch). Флаг %s принимает строчку, которая, как известно, NULL-terminated. Это забавная ошибка: в таком виде он будет идти по памяти от того места, где записан ch, вперёд, пока не встретит нулевой байт. Возможно, ему повезёт, и это будет уже следующий. А возможно, ему не повезёт, и он будет печатать всю память подряд. Например, у меня локально ему один раз не повезло: вместо "mdm!" он в итоге напечатал "mdmU!".

Правильный флаг для вывода одного символа: %c. И передавать надо в таком случае не указатель, а сам символ.

comment:4 Changed 5 years ago by Екатерина Иценко

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

comment:5 Changed 5 years ago by Vasily Alferov

Зачтено.

В однобалльной домашке мучить дальше смысла не вижу, но на будущее:

  1. У тебя зависимость получилась order-only от всех хедеров, потому что они справа от палки. Это намерено? Казалось бы, мы пишем хедеры в зависимости специально чтобы бинарники пересобирались, когда мы изменяем хедеры.
  1. Много пустых строк в конце Makefile. Я хотел просто посмотреть твой Makefile через cat и немного обломался, пришлось редактор раскочегаривать :(

Исправлять не надо.

comment:6 Changed 5 years ago by Vasily Alferov

Resolution: задача сдана
Status: assignedclosed
Note: See TracTickets for help on using tickets.