Opened 5 years ago

Closed 5 years ago

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

WW #1

Reported by: sukhodolskiy.maksim Owned by: Sokolov Viacheslav
Component: WW_make Version: 2.0
Keywords: Cc:

Description


Change History (4)

comment:1 Changed 5 years ago by Sokolov Viacheslav

C unresolved результат ожидаемый.

С multiple definition результат показательный, но не тот, который нужен был. Сейчас ошибка на этапе компиляции: src/util.c:4:5: error: redefinition of ‘max’. В процессе компиляции функции max выяснилось, что она нарушает One Definition Rule, а именно, в одной и той же единице компиляции есть две реализации одной и той же функции (на самом деле компилятор считает, что One Definition Rule не может быть нарушен и потому встретив второй раз функцию max воспринимает ее не как повторную реализацию, а как новую функцию с таким же именем, на что и выдает ошибку). В задании же нужно получить ошибку на этапе компоновки. То есть во время выполнения цели Makefile lab1.

Стоит разбить компиляцию и компоновку для main: сделать цель по сборке bin/main.o и для цели lab1 оставить только лишь компоновку.

Можно вынести флаги компиляции в переменную, чтобы было удобно их синхронно модифицировать.

Стоит добавить цели all, clean в секцию .PHONY:

Также стоит обратить внимание на codestyle: использовать один стиль на весь проект. Либо пробелы, либо табуляции. Субъективно: пробелы лучше тем, что везде одинаково отображаются. Неплохо бы поставить пробел после if. Я бы рекомендовал все scope-ы окружать с помощью фигурных скобок (включая if SCOPE else SCOPE), это уменьшает сложность чтения и модификации кода.

comment:2 Changed 5 years ago by Sokolov Viacheslav

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

comment:3 Changed 5 years ago by sukhodolskiy.maksim

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

Плохой текстовый редактор при нажатии таба вставлял 4 пробела, редактор сменил, файлы исправил.

comment:4 Changed 5 years ago by Sokolov Viacheslav

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