Адміністрація вирішила продати даний сайт. За детальною інформацією звертайтесь за адресою: rozrahu@gmail.com

Системні виклики. Робота з компілятором GCC в ОС GNU/Linux

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
ІКТА
Факультет:
УІ
Кафедра:
ЗІ

Інформація про роботу

Рік:
2018
Тип роботи:
Звіт до лабораторної роботи
Предмет:
Операційні системи

Частина тексту файла

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА» ІКТА Кафедра ЗІ / З В І Т до лабораторної роботи №6 з курсу: «Операційні системи» на тему: «Системні виклики. Робота з компілятором GCC в ОС GNU/Linux» Варіант № 10 МЕТА РОБОТИ – оволодіти практичними навиками роботи з компілятором GCC та системними викликами в операційній системі GNU/Linux; ознайомитись із механізмом виконання системних викликів, процесом компіляції та побудови виконавчих файлів в цій ОС. Завдання За допомогою системних викликів у своїй домашній директорії створити дворівневу структуру директорій. У директорії другого рівня створити 2 файли та перемістити їх у директорію першого рівня. Видалити пусту папку. Реалізувати обробку помилок, які можуть виникнути в ході роботи програми. Тексти програм Lab.h #ifndef WORK_H_ #define WORK_H_ int lab(void); #endif /*WORK_H_*/ Work.c #include <stdio.h> #include <sys/stat.h> #include <fcntl.h> #include "lab.h" int lab(void) { mkdir("./level1", 0777); mkdir("./level1/level2", 0777); int fd1 = open("./level1/level2/a.txt", O_RDWR|O_CREAT, 0777); // Originally 777 (see comments) int fd2 = open("./level1/level2/b.txt", O_RDWR|O_CREAT, 0777); if (fd1 != -1) { // use file descriptor close(fd1); } if (fd2 != -1) { // use file descriptor close(fd2); } rename("./level1/level2/a.txt", "./level1/a.txt"); rename("./level1/level2/b.txt", "./level1/b.txt"); remove("./level1/level2"); return 0; } Main.c #include <stdio.h> #include "lab.h" int main(void) { int Result = lab(); printf(Result); return 0; } Makefile work: work.o main.o gcc work.o main.o -o startLab6 -lm calculate.o: work.c lab.h gcc -c work.c main.o: main.c lab.h gcc -c main.c clean: rm -f work work.o main.o install: cp work /usr/local/bin/work uninstall: rm -f /usr/local/bin/work Результати виконання super@ubuntu:~/Завантаження/lab6$ ls lab.h main.c Makefile work.c super@ubuntu:~/Завантаження/lab6$ make cc -c -o work.o work.c work.c: In function ‘lab’: work.c:15:5: warning: implicit declaration of function ‘close’; did you mean ‘pclose’? [-Wimplicit-function-declaration] close(fd1); pclose gcc -c main.c gcc work.o main.o -o startLab6 –lm super@ubuntu:~/Завантаження/lab6$ ./startLab6 super@ubuntu:~/Завантаження/lab6$ ls lab.h level1 main.c main.o Makefile startLab6 work.c work.o super@ubuntu:~/Завантаження/lab6$ cd level1/ super@ubuntu:~/Завантаження/lab6/level1$ ls a.txt b.txt super@ubuntu:~/Завантаження/lab6/level1$ Висновки На цій лабораторній роботі я оволодів практичними навиками роботи з компілятором GCC та системними викликами в операційній системі GNU/Linux, ознайомився із механізмом виконання системних викликів, процесом компіляції та побудови виконавчих файлів в цій ОС, шляхом виконання тестового завдання відповідно до варіанту. Тестове завдання було виконано успішно, тексти програм та результати з терміналу подано у звіті.
Антиботан аватар за замовчуванням

19.06.2019 05:06

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини