Дополнительная инфа по лаб 8(10)

8-читать про компиляцию и вывод через ./a.out, а лучше через ./run.out (при компиляции с ключем -o)

10-смотреть про GDB
В отчет по 8 включить 2-3 программы:

а) Верная

б) С ошибкой синтаксиса

По сути, здесь вам нужно написать свою простую программу на СИ и посмотреть как компилятор тяфкает на вас, за ошибки.

Итак, необходима Unix-подобная система(или bash в Win 10) с компилятором GCC и отладчиком GDB

Для начала напишем свою программу:

(я пишу в gedit)

prog.png

Скомпилируем нашу программу и посмотрим, что из этого всего вышло:

compile

Сойдет. Но деду это все не интересно. Сделаем пару ошибок в программе, по синтаксису. И перекомпилим.

errorOne.png

Запомните эти шаги. В протоколе нужно будет сделать порядка 2-3 подобных ошибок и доказать,что компилятор потяфкал.

Идем дальше. В лабораторной работе нам нужно использовать еще и GDB.

Танцы с бубном:

Компилируем программу так: gcc -g mympog.c

(для Деда лучше компилировать gcc -g -o run.out myprog.c)

Потом, смотрим что выводит наша программа:

./a.out

(./run.out)

Потом запускаем наш отладчик, натравливая его на наш файлик:

gdb -c a.out.core a.out (gdb -c a.out.core run.out)

Если вы все сделали правильно, то команда list выведет вашу программу:

gdbone

Далее, советовую поиграться (пожмякать их все) с такими командами:

run -запускает программу на выполнение

next -делает одно действие (строку)

step 1 (1,2,3,infinity) -делает несколько дейсвтий (1,2,3,бесконечно)

set var nameOfPerem = value -устанавливает переменной nameOfPerem значение value

break 3 (1,2,3,infinity) -устанавливает точку останова на строке 3

print a*b — возвращает значение умножение переменной a на b

help- справка

list -вывести программу

(Все применяемые команды нужно будет написать в пункте 7 (сценарий) и 6(алгоритм))

 

Реклама

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход /  Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход /  Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход /  Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход /  Изменить )

Connecting to %s