Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ под Linux
Войти
Регистрация
Восстановить пароль
 
armenia-2012
0 / 0 / 0
Регистрация: 16.03.2016
Сообщений: 17
1

Создание собственную библиотеку для работы с директориями (Dir)

14.10.2017, 20:23. Просмотров 468. Ответов 15
Метки нет (Все метки)

Привет помогите пожалуйста !
Мне нужно создать собственную библиотеку с нуля которое создает, удаляет, читает ... итд директории без каких либо сторонних библиотек
Посоветуйте пож где можно почитать как манипулировать директориями без помощьи других библиотек
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.10.2017, 20:23
Ответы с готовыми решениями:

Ищется контрол для работы с директориями
Нужен контрол (как в win explorere) который позволяет рыться в дереве каталогов на дисках,...

Написать собственную библиотеку для заполнения массива (способом указанным в массиве)
#include <stdio.h>///Найти, сколько отрицательных элементов содержит данная матрица в каждом...

Создайте собственную библиотеку ShopAuto
Создайте собственную библиотеку ShopAuto. Библиотека должна содержать метод, который принимает...

Как защитить собственную библиотеку?
Планируется продавать библиотеку всем, кто захоочет ее купить. Как защититься от умника, который...

Как создать собственную библиотеку?
А как собственно это сделать? Я выбираю файл - шаблон проекта - библиотека классов. Создается...

15
no_way
Заблокирован
14.10.2017, 20:31 2
man opendir
man readdir
man rename
man unlink
man open
man close
man closedir

и see also этих манов.
0
armenia-2012
0 / 0 / 0
Регистрация: 16.03.2016
Сообщений: 17
14.10.2017, 20:52  [ТС] 3
но там используются другие библиотеки
мне просто интерессно как реализовать например команду mkdir без сторонних библиотек и не смог найти в интернете
0
no_way
Заблокирован
15.10.2017, 11:25 4
Тогда делай syscall напрямую.
0
Dmitriy_M
1436 / 1316 / 131
Регистрация: 20.03.2009
Сообщений: 4,689
Записей в блоге: 11
16.10.2017, 23:22 5
Цитата Сообщение от armenia-2012 Посмотреть сообщение
но там используются другие библиотеки
Какие другие? Это POSIX API
0
Evg
Эксперт CАвтор FAQ
21088 / 8105 / 628
Регистрация: 30.03.2009
Сообщений: 22,437
Записей в блоге: 30
16.10.2017, 23:27 6
Цитата Сообщение от armenia-2012 Посмотреть сообщение
мне просто интерессно как реализовать например команду mkdir без сторонних библиотек
По большому счёту никак. Каталог может создать только ядро операционной системы. А потому создание каталога не может быть 100% собственным кодом

Цитата Сообщение от armenia-2012 Посмотреть сообщение
но там используются другие библиотеки
"Другие библиотеки" - это стандартные библиотеки, реализующие стандарт Си, которые обязаны быть на любой машине
0
Humanoid
Почетный модератор
10135 / 3994 / 377
Регистрация: 12.06.2008
Сообщений: 11,641
17.10.2017, 00:46 7
Используйте только системные вызовы... по сути это не библиотечные функции, а обращения к ядру.
Либо ещё большее извращение - использовать только функцию syscall().

Цитата Сообщение от armenia-2012 Посмотреть сообщение
мне просто интерессно как реализовать например команду mkdir без сторонних библиотек
mkdir() - это не библиотечная функция, а системный вызов.
1
Братец Кролик
28 / 35 / 8
Регистрация: 16.10.2017
Сообщений: 137
17.10.2017, 01:03 8
Humanoid, формально - это библиотечный вызов функции из glibc.
0
Evg
Эксперт CАвтор FAQ
21088 / 8105 / 628
Регистрация: 30.03.2009
Сообщений: 22,437
Записей в блоге: 30
17.10.2017, 10:31 9
Цитата Сообщение от Humanoid Посмотреть сообщение
mkdir() - это не библиотечная функция, а системный вызов
Это библиотечная функция, которая является языковой обёрткой над системным вызовом
0
COKPOWEHEU
2486 / 1418 / 316
Регистрация: 09.09.2017
Сообщений: 5,597
17.10.2017, 15:25 10
Если желаете чего-то совсем низкоуровневого, можете ковырять файловую систему напрямую. Создаете ее на файле и вперед.
dd if=/dev/zero of=fs.img count=... bs=... skip=...
mkfs fs.img
0
Humanoid
Почетный модератор
10135 / 3994 / 377
Регистрация: 12.06.2008
Сообщений: 11,641
17.10.2017, 18:58 11
Братец Кролик, Evg, это обёртка, но нового функционала не вносит.
0
Dmitriy_M
1436 / 1316 / 131
Регистрация: 20.03.2009
Сообщений: 4,689
Записей в блоге: 11
17.10.2017, 19:09 12
Цитата Сообщение от Братец Кролик Посмотреть сообщение
формально - это библиотечный вызов функции из glibc
Формально это вызов POSIX api, а реализована ли поддержка posix'a в ядре или либе значения не имеет.
0
Evg
Эксперт CАвтор FAQ
21088 / 8105 / 628
Регистрация: 30.03.2009
Сообщений: 22,437
Записей в блоге: 30
17.10.2017, 19:21 13
Цитата Сообщение от Humanoid Посмотреть сообщение
но нового функционала не вносит.
Если бы ещё и ТС это понимал
0
Братец Кролик
28 / 35 / 8
Регистрация: 16.10.2017
Сообщений: 137
17.10.2017, 23:17 14
Цитата Сообщение от Dmitriy_M Посмотреть сообщение
Формально это вызов POSIX api
И это не противоречит тому, что это обычная библиотечная функция.
Цитата Сообщение от Dmitriy_M Посмотреть сообщение
а реализована ли поддержка posix'a в ядре
Функция всегда реализована в библиотеке, а не в ядре. Не неси чепухи. То, что это просто обертка над sysenter с парой проверок, не убирает зависимости.
Цитата Сообщение от Dmitriy_M Посмотреть сообщение
реализована ли поддержка posix'a в ядре или либе значения не имеет.
Для кого? Может, для тебя не имеет. А так, все зависит от задачи. Если задача уменьшить зависимости линковки и исключить код, который часто в себе врапперы содержат, то значение имеет.
0
Dmitriy_M
1436 / 1316 / 131
Регистрация: 20.03.2009
Сообщений: 4,689
Записей в блоге: 11
18.10.2017, 00:23 15
Цитата Сообщение от Братец Кролик Посмотреть сообщение
Функция всегда реализована в библиотеке, а не в ядре.
Зависит от системы.

Цитата Сообщение от Братец Кролик Посмотреть сообщение
Если задача уменьшить зависимости линковки и исключить код, который часто в себе врапперы содержат, то значение имеет.
Где такая задача стоит?
0
Братец Кролик
28 / 35 / 8
Регистрация: 16.10.2017
Сообщений: 137
18.10.2017, 00:53 16
Цитата Сообщение от Dmitriy_M Посмотреть сообщение
Зависит от системы.
Приведи, пожалуйста, в пример Linux, в котором вызов функции, вызовет код ядра без промежуточной библиотеки. Спасибо.
Цитата Сообщение от Dmitriy_M Посмотреть сообщение
Где такая задача стоит?
Цитата Сообщение от armenia-2012 Посмотреть сообщение
без помощьи других библиотек
libc - вполне себе библиотека. Важна она автору, или нет - это уже другой. Подозреваю, что не важна
0
18.10.2017, 00:53
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.10.2017, 00:53

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Подключить собственную статическую библиотеку через переменную CONFIG
Всем доброго времени суток, подскажите пожалуйста как подключить свою статическую библиотеку через...

Создать собственную библиотеку ввода-вывода строк и их обработки
Создать собственную библиотеку ввода-вывода строк и их обработки: gets, puts, atoi, itoa, reverse...

Когда имеет смысл создавать собственную динамическую библиотеку с отркытым исходным кодом
Такой вопрос назрел.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.