Change History (4)

comment:1 Changed 5 years ago by Артур Гулецкий (huletski)

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

При повторном запуске make решение пересобирается заново:

{correct}[1541]$ pwd
/home/hfx/dvl/cpp19/podoprigora.ivan/lab_01/correct
{correct}[1542]$ make clean
rm -rf bin lab1
{correct}[1543]$ make
mkdir bin
gcc -c -Wall -Wextra -Werror -Iinclude src/main.c -o bin/main.o
gcc -c -Wall -Wextra -Werror -Iinclude src/io.c -o bin/io.o
gcc -c -Wall -Wextra -Werror -Iinclude src/util.c -o bin/util.o
gcc -c -Wall -Wextra -Werror -Iinclude src/algorithm.c -o bin/algorithm.o
gcc bin/main.o bin/io.o bin/util.o bin/algorithm.o -o lab1
{correct}[1544]$ make
gcc -c -Wall -Wextra -Werror -Iinclude src/main.c -o bin/main.o
gcc -c -Wall -Wextra -Werror -Iinclude src/io.c -o bin/io.o
gcc -c -Wall -Wextra -Werror -Iinclude src/util.c -o bin/util.o
gcc -c -Wall -Wextra -Werror -Iinclude src/algorithm.c -o bin/algorithm.o
gcc bin/main.o bin/io.o bin/util.o bin/algorithm.o -o lab1

Это нужно исправить.

comment:2 Changed 5 years ago by podoprigora.ivan

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

comment:3 Changed 5 years ago by Артур Гулецкий (huletski)

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

Correct

util.o не пересобирается при модификации io.h, a должен, тк включает этот заголовочный файл:

{correct}[2043]$ pwd && svn up && svn status
/home/hfx/dvl/cpp19/podoprigora.ivan/lab_01/correct
Updating '.':
At revision 448.
{correct}[2044]$ make
mkdir bin
gcc -c -Wall -Wextra -Werror -Iinclude src/main.c -o bin/main.o
gcc -c -Wall -Wextra -Werror -Iinclude src/io.c -o bin/io.o 
gcc -c -Wall -Wextra -Werror -Iinclude src/util.c -o bin/util.o 
gcc -c -Wall -Wextra -Werror -Iinclude src/algorithm.c -o bin/algorithm.o
gcc bin/main.o bin/io.o bin/util.o bin/algorithm.o -o lab1
{correct}[2045]$ cat src/util.c 
#include "io.h"
int max(int a, float b) {
  if (a >= b){
	return a;
  } else {
	return b;
  }
  logDebug('m');
}
{correct}[2046]$ touch include/io.h 
{correct}[2047]$ make
gcc -c -Wall -Wextra -Werror -Iinclude src/main.c -o bin/main.o
gcc -c -Wall -Wextra -Werror -Iinclude src/algorithm.c -o bin/algorithm.o
gcc bin/main.o bin/io.o bin/util.o bin/algorithm.o -o lab1

Помимо этого, странно, что util.c не влючает util.h; так же цель bin лучше бы включить в списки зависимостей (как order-only, см. текст задания) каждой цели, которая должна генерироваться в папку bin (это опционально).

Промежуточный итог: 0.4 из 0.5

Unresolved, multiple

Линкер показывает "нужные" ошибки, но вот условие минимальной модификации correct, кмк, нарушено + формально изменен Makefile, что нарушает одно из условий задания:

{lab_01}[2057]$ diff -r correct/ multiple/
diff -r correct/include/util.h multiple/include/util.h
1c1
< int max(int a, float b);
---
> int max(int a, int b);
diff -r correct/Makefile multiple/Makefile
8c8
< bin/main.o: src/main.c include/io.h include/util.h include/algorithm.h 
---
> bin/main.o: src/main.c include/io.h include/util.h include/algorithm.h
10,12c10,12
< bin/io.o: src/io.c 
< 	gcc $(CFLAGS) src/io.c -o bin/io.o 
< bin/algorithm.o: src/algorithm.c include/io.h include/util.h
---
> bin/io.o: src/io.c include/io.h
> 	gcc $(CFLAGS) src/io.c -o bin/io.o
> bin/algorithm.o: src/algorithm.c include/algorithm.h include/io.h include/util.h
14,15c14,15
< bin/util.o: src/util.c 
< 	gcc $(CFLAGS) src/util.c -o bin/util.o 
---
> bin/util.o: src/util.c include/util.h
> 	gcc $(CFLAGS) src/util.c -o bin/util.o
diff -r correct/src/algorithm.c multiple/src/algorithm.c
1a2
> #include "algorithm.h"
diff -r correct/src/io.c multiple/src/io.c
0a1
> #include "io.h"
4a6,14
> int max(int a, int b) {
>   if (a >= b){
> 	return a;
>   } else {
> 	return b;
>   }
>   logDebug('m');
> }
> 
diff -r correct/src/util.c multiple/src/util.c
2c2,3
< int max(int a, float b) {
---
> #include "util.h"
> int max(int a, int b) {
9a11
> 

Замечание справедливо и для unresolved.

Промежуточный итог: 0.4 из 0.5

--
Общий итог: 0.8/1; доделывайте, если есть желание.

comment:4 Changed 5 years ago by Артур Гулецкий (huletski)

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