Opened 5 years ago
Closed 5 years ago
#127 closed ожидается проверка (задача сдана)
WW #1
Reported by: | romanov.daniil | Owned by: | Vasily Alferov |
---|---|---|---|
Component: | WW_make | Version: | 2.0 |
Keywords: | Cc: |
Description
Change History (3)
comment:1 Changed 5 years ago by
Owner: | changed from Alferov to Vasily Alferov |
---|---|
Type: | ожидается проверка → ожидаются исправления |
comment:2 Changed 5 years ago by
Type: | ожидаются исправления → ожидается проверка |
---|---|
Version: | 1.0 → 2.0 |
Внес изменения
comment:3 Changed 5 years ago by
Resolution: | → задача сдана |
---|---|
Status: | assigned → closed |
Здорово, гораздо лучше. Переделывать уже поздно, остановимся на оценке 0.9.
Единственное замечание, из-за него не 1: у тебя зависимость от src/file.c
получилась order-only, так как все зависимости справа от палки по умолчанию order-only. Это не подразумевается: нужно, чтобы при изменении src/file.c пересобирался bin/file.o
и вместе с ним, по цепной реакции, lab1
.
Note: See
TracTickets for help on using
tickets.
Не компилируется:
Про ошибки.
multiple
ошибка не имеет никакого отношения к тому, что подразумевалось. У тебя так:undefined
нужна ошибка линковки, а не ворнинг компиляции. У тебя так:Про Makefile. Он сделан с фантазией и с понимаем происходящего, но без понимания того, что хотелось в задании
clean
— чистить _все_ артефакты сборки. В частности,lab1
тоже.all
не должен зависеть отclean
, объектные файлы после сборки удалять не надо. Представь, что у тебя проект на много тысяч файлов. Если ты изменишь один, то тебе нужно пересобрать только один объектный файл и перелинковать (линковка — очень быстрая операция по сравнению с компиляцией). А если ты объектные файлы удалил, то придётся их всех собирать заново. Это может занять десятки минут в больших проектах.main.o → bin/main.o
. Кроме того, они должны зависеть отbin
(order-only зависимость, см. описание задание), а вотall
не должен. Например, если тебе хочется собрать только один объектный файл командойmake bin/io.o
, у тебя не выйдет.Про код.
include guards
илиpragma once
, раз их уже рассказали.algorithm.c
почему-то выделены строчки 6-7. Кроме того, в разных файлах отступы в разное количество пробелов. Не надо так.max
подразумевалосьlogDebug('m');
src/file.c
, у которых есть заголовочный файлinclude/file.h
, нужно первой строчкой подключатьfile.h
. Это сделано для того, чтобы на этапе компиляции верифицировать, что вfile.c
написано то же самое, что ты обещал вfile.h
.