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
comment:2 Changed 5 years ago by
Type: | ожидается проверка → ожидаются исправления |
---|
comment:3 Changed 5 years ago by
Домашка дошла. Мне всё очень нравится, тут есть только несколько небольших замечаний.
- Зависимость от
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.0 → 2.0 |
comment:5 Changed 5 years ago by
Зачтено.
В однобалльной домашке мучить дальше смысла не вижу, но на будущее:
- У тебя зависимость получилась order-only от всех хедеров, потому что они справа от палки. Это намерено? Казалось бы, мы пишем хедеры в зависимости специально чтобы бинарники пересобирались, когда мы изменяем хедеры.
- Много пустых строк в конце Makefile. Я хотел просто посмотреть твой Makefile через cat и немного обломался, пришлось редактор раскочегаривать :(
Исправлять не надо.
comment:6 Changed 5 years ago by
Resolution: | → задача сдана |
---|---|
Status: | assigned → closed |
Note: See
TracTickets for help on using
tickets.
Я не вижу домашки, в svn пусто :(
Ты точно сделала все команды из этого набора?
Что выводит
svn status
в твоей папке с домашкой?Если не получится залить в svn, напиши мне, попробуем разобраться.