Системні виклики. Робота з компілятором 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
include
include
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
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
Результати виконання superubuntu:~/Завантаження/lab6$ ls lab.h
main.c
Makefile
work.c superubuntu:~/Завантаження/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
superubuntu:~/Завантаження/lab6$ ./startLab6
superubuntu:~/Завантаження/lab6$ ls lab.h
level1
main.c
main.o
Makefile
startLab6
work.c
work.o
superubuntu:~/Завантаження/lab6$ cd level1/ superubuntu:~/Завантаження/lab6/level1$ ls a.txt
b.txt superubuntu:~/Завантаження/lab6/level1$
Висновки На цій лабораторній роботі я оволодів практичними навиками роботи з компілятором GCC та системними викликами в операційній системі GNU/Linux, ознайомився із механізмом виконання системних викликів, процесом компіляції та побудови виконавчих файлів в цій ОС, шляхом виконання
тестового завдання відповідно до варіанту. Тестове завдання було виконано успішно, тексти програм та результати з терміналу подано у звіті.
Антиботан аватар за замовчуванням

01.01.1970 03:01

Коментарі

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

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

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

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

Admin

26.02.2019 12:38

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

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

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

Останні оголошення

Новини