429 читали · 4 года назад
Пишем Shell на СИ.
В данной статье мы рассмотрим командный интерпретатор с конвейером(pipe), возможностью перенаправления ввода/вывода, и обработкой сигнала на примере SIGINT(CTRL+C). Объем работы: Для начала разобьём исходную задачу на несколько подзадач: 1.0 Считывание строки. Будем считывать строку посимвольно. Выделяем память используя malloc, проверяем успешность выполнения и пока не встретится EOF или \0 будем посимвольно писать в буфер строку. Если место в буфере закончилось используем realloc для расширения...
438 читали · 1 год назад
Строгий учитель - Си, скрывающий боль
В продолжение нашей предыдущей публикации хочется отдельно уделить внимание (а заодно начать выполнять наше обещание, частично пояснив необходимость пройти такой путь) роли языка программирования Си в обучении. Язык Си - процедурный компилируемый язык программирования со статической типизацией. Он является основой для многих операционных систем, драйверов, компиляторов и огромной кучи низкоуровневого ПО. Низкоуровневого, разумеется, для представления обычного пользователя. Для машины (компьютера) Си - непонятная высокоуровневая штуковина...