kot-senya 00de00c13c Загрузить файлы 'Файлы/Бинарный' | 10 mēneši atpakaļ | |
---|---|---|
База | 10 mēneši atpakaļ | |
Библиотеки | 10 mēneši atpakaļ | |
Каналы | 10 mēneši atpakaļ | |
Потоки | 10 mēneši atpakaļ | |
Процессы | 10 mēneši atpakaļ | |
Указатели | 10 mēneši atpakaļ | |
Файлы | 10 mēneši atpakaļ | |
README.md | 10 mēneši atpakaļ |
Создание консольной утилиты, которая печатает список переданных ей аргументов из командной строки. При демонстрации работы программы рассмотреть не менее трех способов передачи аргументов в запускаемый процесс.
gcc -o arg consoleargs.c
- компиляция программы
1 Способ
./arg "1 аргумент" "2 аргумент"
- запуск программы2 Способ (здесь нельзя передать несколько сложных аргументов)
export ARGS="1 аргумент"
- компиляция аргументов командной строки./arg $ARGS
- запуск программы3 Способ напишите еще одну программу которая запускает вашу с нужными аргументами =>
gcc -o run args3.c
- компиляция проги./run
- запуск программыПрограмма для преобразования числа в строку и склейки двух строк. Разработать без использования системных функций.
gcc strings.c -o strgo
- компиляция проги./strgo
- запуск программыПрограмма для считывания нескольких числовых значений из строки и их записи в числовой массив (разделитель - пробел). Количество значений в строке заранее неизвестно.
gcc numbers.c -o num
- компиляция проги./num
- запуск программыИспользование условных блоков для анализа значений, возвращаемых системной функцией (не менее трех функций).
gcc systemfun.c -o fun
- компиляция проги./fun
- запуск программыСоздание функции, аргументом которой является указатель на функцию. Создать не менее двух вспомогательных функций и передать их в качестве аргумента исходной функции. Продемонстрировать специфику работы исходной функции в зависимости от переданных параметров.
gcc function.c -o fun
- компиляция проги./fun
- запуск программыСоздание линейного односвязного списка из n элементов. Значение элемента генерируется случайным образом. Поместить в отдельные указатели адрес минимального и максимального элемента списка. Вывести список и значения минимального и максимального элемента через указатель.
gcc collection.c -o col
- компиляция проги./col
- запуск программыПрограмма для считывания и записи строкового значения из текстового файла с последующей записью его в другой текстовый файл. Для работы с файлами используются функции Linux.
gcc filestr.c -o filestr
- компиляция проги./filestr
- запуск программыПрограмма для считывания числового значения из файла (с сохранением его в числовом формате). Исходный файл является бинарным.
gcc filebin.c -o filebin
- компиляция проги./filebin
- запуск программыРазработка программы для вычисления факториала в отдельном потоке. В программе должна быть предусмотрена валидация данных.
gcc -pthread -o factorial factorial.c
- компиляция программы./factorial
- запуск программыРазработка программы-секундомера. в одном потоке идет отсчет времени, а в другом осуществляется управление секундомером.
gcc -pthread -o watch stopwatch.c
- компиляция программы./watch
- запуск программыСоздание программы с критической секцией в ОС Linux. Программа должна содержать минимум два потока. Использование критической секции в функции потока должно быть обосновано.
gcc -pthread -o run criticaly.c
- компиляция программы./run
- запуск программыПрограмма с запуском стороннего процесса. Исполняемый файл стороннего процесса подготавливается заранее.
если другой испольняемый файл пишите отдельно, то небходимо скомпилировать его заранее. Путь в программе пишите к исполняемому файлу
gcc otherapp.c -o run
- компиляция программы./run
- запуск программыCоздание фонового процесса, который каждые 5 секунд выводит всплывающее или диалоговое сообщение, содержащее увеличивающееся на единицу значение счетчика.
Для работы используется notify-send, вероятность того что его не будет маленькая, но если что вот код установки sudo apt install notify-send
gcc -o mess countermess.c
- компиляция программы./mess
- - запуск программыСоздание статической библиотеки в Linux. Для демонстрации работы написать две элементарные функции в библиотеке и скомпилировать библиотеку вместе с основной программой.
gcc -c staticlib.c -o static.o
- компиляция программного модуляar rc libMY_STATIC.a static.o
- помещаем объектный модуль в архивranlib libMY_STATIC.a
- [необязательно] индексация содержимого архива (говорят,работает быстрее)gcc callstaticlib.c libMY_STATIC.a -o run
- компиляция программы./run
- запуск программыСоздание динамической библиотеки в Linux. Для демонстрации работы написать две элементарные функции в библиотеке и вызвать их из основной программы.
gcc -fPIC dynamiclib.c -shared -o libdynamic.so
- компиляция разделяемой библиотекиgcc -o run calldynamiclib.c -ldl
- компиляция программы./run
- запуск программыИспользование анонимного канала для передачи строковых значений между процессами
gcc -o run anonim.c
- компиляция программы./run
- запуск программыОтправка и получение данных из именованного канала. Данные содержатся в строковой форме. Перед отправкой следующей строки клиенту необходимо дождаться ответа от сервера
необходимо реализовать 2 программы, для поддержания связи:
Сервер:
gcc -o server named-server.c
- компиляция программы сервера./server
- запуск сервераКлиент:
gcc -o client named-client.c
- компиляция программы клиента./client
- запуск клиента