Форум программистов, компьютерный форум, киберфорум
C/C++
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.59/37: Рейтинг темы: голосов - 37, средняя оценка - 4.59
 Аватар для pgb
-508 / 32 / 0
Регистрация: 22.09.2015
Сообщений: 1,232

Пишу свою библиотеку C++

04.04.2023, 20:22. Показов 17186. Ответов 123
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Приветствую!
Кто хочет поучится программированию на C++ за одно написать нужные классы и функции для будущих своих разработок, предлагаю присоединиться к разработке своей библиотеки C++.

Зачем я это делаю? Кто-то скажет есть же уже готовые библиотеки, зачем изобретать велосипед и тд.
Во-первых в существующих много лишнего чем вы никогда не воспользуетесь и нужно их изучать подстраиваться под их синтаксисы и тд. проблемы при отладке т.к. не знаете как что работает и тп. Во-вторых в своих знаешь, что и как работает, при необходимости можно доработать, написаны только самые основные нужные функции и классы с удобным для себя синтаксисом. В-третьих при создании своей библиотеки вы изучаете нативные функции и возможности самого языка программирования и на примерах пишите по своему, тестируете и оттачиваете свои мастерство и знания, которые в последствии вам помогут при создании своих будущих проектов.

В перспективе я планирую написать с помощью своей библиотеки базу данных, язык программирования, веб-сервер. Ещё есть мысль с применением графической библиотеки wxWidgets(возможно другой) написать заголовочный файл для быстрого создания окон, элементов окна и др.

https://github.com/arbnet/CppLibrary
1
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
04.04.2023, 20:22
Ответы с готовыми решениями:

Создать свою библиотеку в С++
Разработать библиотеку в C++ для двумерного массива

Создать свою библиотеку
Создать свою библиотеку в с++,двумерный массив ,что бы выполнялось условие сортировки и поиска элемента в этом двумерном массиве

Разработать свою библиотеку
Разработать библиотеку для работы со структурой данных, для работы с двумерным массивом

123
 Аватар для pgb
-508 / 32 / 0
Регистрация: 22.09.2015
Сообщений: 1,232
12.05.2023, 11:34  [ТС]
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от KSergey9 Посмотреть сообщение
Не грубите незнакомым людям, разное случается.
Я просил нативное решение, где написана замена _itoa? Упс. Вы угрожаете?
Цитата Сообщение от KSergey9 Посмотреть сообщение
Уже написано же.
Где написано?
Цитата Сообщение от voral Посмотреть сообщение
вы спросили - я ответил.
А у вас я ничего не спрашивал..
Цитата Сообщение от voral Посмотреть сообщение
Ну, а либу ясновидения я забыл подключить
Ну а нафига я код в гит выложил. Всё просто делается, кому интересно тот мог бы потестить у себя и увидеть проблему, если соображалка работает.
0
3061 / 1463 / 265
Регистрация: 16.03.2008
Сообщений: 6,510
Записей в блоге: 2
12.05.2023, 11:51
Цитата Сообщение от pgb Посмотреть сообщение
Ну а нафига я код в гит выложил. Всё просто делается, кому интересно тот мог бы потестить у себя и увидеть проблему, если соображалка работает.
1 Т.е. вы обязываете желающего помочь потратить как можно больше времени?
2. Я скачал ваш код, но я не пользуюсь Windwos и ваш код не компилируется - прикажете его доработать, чтоб ответить на ваш вопрос, в котором вы поленились расписать проблему?
3. Как и в случае с PHP кодом вы пренебрегаете общепринятыми подходами к стилю кода (при чем я имею ввиду именно общепринятые - т.е. есть всякие споры табы vs пробелы, camelcase vs snake_case, где ставить открывающую блок скобку - я не про это, между ними все равно есть общее), но у вас свой путь и это еще дополнительно затрудняет читаемость..
4. Может у вас ошибки связаны конкретно с вашей системой (я вам уже рассказывал случай, когда ошибка возникала из-за глючной видео карты). И что искать?


А так код я посмотрел. Если разбирать то куча вопросов по нему. Но есть ли в этом смысл - учитывая ваш стиль общения?

PS Обратите внимание. Я здесь пытался удержаться в нормальном русле обсуждения про код, и именно вы начали опять свою тему скатывать в "вы ни чего серьезного не писали", "вы ни чего не понимаете"..... На хрен вы вообще на форуме что то пишите если вы такой офигенный гений? И что значило выше ваша фраза о том что вы в плюсах новичок?
0
631 / 526 / 104
Регистрация: 05.08.2022
Сообщений: 2,810
12.05.2023, 12:06
Цитата Сообщение от pgb Посмотреть сообщение
Я просил нативное решение
Ликбез: нативным называется решение, предоставляемое непосредственно платформой/языком. Для С++ все нативные решения - они в std.

Цитата Сообщение от pgb Посмотреть сообщение
Вы угрожаете?
Угрожают не так, мил человек. Да и нафик ты такой сплющился, угрожать тебе Много чести
0
 Аватар для pgb
-508 / 32 / 0
Регистрация: 22.09.2015
Сообщений: 1,232
12.05.2023, 12:08  [ТС]
Цитата Сообщение от voral Посмотреть сообщение
1 Т.е. вы обязываете желающего помочь потратить как можно больше времени?
Никого ничему не обязываю, кто захочет помочь тот поможет, за что я буду благодарен.
Цитата Сообщение от voral Посмотреть сообщение
2. Я скачал ваш код, но я не пользуюсь Windwos и ваш код не компилируется - прикажете его доработать, чтоб ответить на ваш вопрос, в котором вы поленились расписать проблему?
Всё компилируется. Если вы не умеете готовить, то не суп виноват, а повар..
Я указывал на проблемы, они сразу выявляются, при запуске теста всё видно.
Цитата Сообщение от voral Посмотреть сообщение
3. Как и в случае с PHP кодом вы пренебрегаете общепринятыми подходами к стилю кода (при чем я имею ввиду именно общепринятые - т.е. есть всякие споры табы vs пробелы, camelcase vs snake_case, где ставить открывающую блок скобку - я не про это, между ними все равно есть общее), но у вас свой путь и это еще дополнительно затрудняет читаемость..
Код хорошо читаем, никто кроме вас не жалуется.
Цитата Сообщение от voral Посмотреть сообщение
4. Может у вас ошибки связаны конкретно с вашей системой (я вам уже рассказывал случай, когда ошибка возникала из-за глючной видео карты). И что искать?
Это у таких как вы ошибки из видео карты и тд.
Цитата Сообщение от voral Посмотреть сообщение
А так код я посмотрел. Если разбирать то куча вопросов по нему. Но есть ли в этом смысл - учитывая ваш стиль общения?
А не надо мой код разбирать, разбирайте свой. Я лишь хочу написать ещё один удобный инструмент для своих разработок, если кому будет полезен, кто включится в разработку или будут помогать дельными советами как что сделать, буду только рад, а не стараться обосрать как вы обычно делаете, это мне только мешает, отвечать вам на ваши высеры..
Цитата Сообщение от voral Посмотреть сообщение
На хрен вы вообще на форуме что то пишите если вы такой офигенный гений? И что значило выше ваша фраза о том что вы в плюсах новичок?
Я занимаюсь делом, это раз, бывают проблемы с которыми сразу не получается разобраться поэтому хочется чтобы нашлись люди кто более опытнее которые могут что-то подсказать и тд. не всегда это происходит, но всё же я нахожу решения несмотря на негатив от некоторых участников форума.
0
631 / 526 / 104
Регистрация: 05.08.2022
Сообщений: 2,810
12.05.2023, 12:13
Цитата Сообщение от voral Посмотреть сообщение
2. Я скачал ваш код, но я не пользуюсь Windwos и ваш код не компилируется - прикажете его доработать, чтоб ответить на ваш вопрос, в котором вы поленились расписать проблему?
Цитата Сообщение от pgb Посмотреть сообщение
Всё компилируется. Если вы не умеете готовить, то не суп виноват, а повар..
Эта пять!

Даже не знаю, сочувствовать voral или "так ему и надо, сам напросился". Ведь даже по этой ветке было понятно\, что может быть только такой ответ.

pgb, слушай, как ты вообще живёшь? ну вот по жизни. Наверное сплошные сволочи кругом?
0
3061 / 1463 / 265
Регистрация: 16.03.2008
Сообщений: 6,510
Записей в блоге: 2
12.05.2023, 12:13
Цитата Сообщение от pgb Посмотреть сообщение
Всё компилируется. Если вы не умеете готовить, то не суп виноват, а повар..
Реально? test.cpp - это ваш тестовый код в этой теме
Bash
1
g++ -o test test.cpp -fpermissive -std=c++20 && ./test
Выдает (привожу начало выхлопа). Операционная системам Debian GNU/Linux расскажите как скомпилировать не меняя ваш код?
Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
In file included from _calc.hpp:7,
                 from _interface.hpp:9,
                 from test.cpp:3:
_types.hpp: In function ‘STRING t::Type(dTYPE)’:
_types.hpp:497:5: warning: there are no arguments to ‘_itoa’ that depend on a template parameter, so a declaration of ‘_itoa’ must be available [-fpermissive]
  497 |     _itoa(vtp.Size()-1,lts,10);
      |     ^~~~~
_types.hpp: In instantiation of ‘STRING t::Type(dTYPE) [with dTYPE = ANY]’:
_types.hpp:563:13:   required from ‘void LINK::Init(dTYPE&) [with dTYPE = ANY]’
_types.hpp:621:14:   required from ‘ANY& ANY::operator=(dTYPE) [with dTYPE = ANY]’
_types.hpp:612:28:   required from here
_types.hpp:497:10: error: ‘_itoa’ was not declared in this scope
  497 |     _itoa(vtp.Size()-1,lts,10);
      |     ~~~~~^~~~~~~~~~~~~~~~~~~~~
_types.hpp: In instantiation of ‘STRING t::Type(dTYPE) [with dTYPE = bool]’:
_types.hpp:563:13:   required from ‘void LINK::Init(dTYPE&) [with dTYPE = bool]’
_types.hpp:621:14:   required from ‘ANY& ANY::operator=(dTYPE) [with dTYPE = bool]’
_types.hpp:635:25:   required from here
_types.hpp:497:10: error: ‘_itoa’ was not declared in this scope
0
 Аватар для pgb
-508 / 32 / 0
Регистрация: 22.09.2015
Сообщений: 1,232
12.05.2023, 12:14  [ТС]
Цитата Сообщение от KSergey9 Посмотреть сообщение
Ликбез: нативным называется решение, предоставляемое непосредственно платформой/языком. Для С++ все нативные решения - они в std.
Сами себе противоречите. Вот именно нативным является решение написанное на самом языке, без использования библиотек, а std это библиотека, хоть и признана стандартной, использования её функцией это не нативное решение реализованное непосредственно языком. Вот без std напишите нативно функцию _itoa тогда это будет нативным решением.
0
3061 / 1463 / 265
Регистрация: 16.03.2008
Сообщений: 6,510
Записей в блоге: 2
12.05.2023, 12:16
Цитата Сообщение от KSergey9 Посмотреть сообщение
Даже не знаю, сочувствовать voral
Да не надо - я осознавал риски отвечая в этой теме . Я с этим автором уже достаточно пообщался он еще лучший в мире php фреймворк пилит.

Добавлено через 1 минуту
Цитата Сообщение от pgb Посмотреть сообщение
поэтому хочется чтобы нашлись люди кто более опытнее которые могут что-то подсказать и тд. не всегда это происходит,
И их вы заставляете тратить время....
0
 Аватар для pgb
-508 / 32 / 0
Регистрация: 22.09.2015
Сообщений: 1,232
12.05.2023, 12:20  [ТС]
Цитата Сообщение от KSergey9 Посмотреть сообщение
слушай, как ты вообще живёшь? ну вот по жизни. Наверное сплошные сволочи кругом?
Замечательно живу. Кто не тупит тех уважаю.
0
631 / 526 / 104
Регистрация: 05.08.2022
Сообщений: 2,810
12.05.2023, 12:21
Цитата Сообщение от pgb Посмотреть сообщение
без использования библиотек, а std это библиотека,
В школу! Учиться!! Потом только голос подавать.
До просветления читать как минимум содержание у книг про С++, в стандарт даже не посылаю. Быть может после сотого прочтения содержания дойдёт, что std - это неотъемлемая часть именно языка C++ наравне с фигурными скобочками.
0
3061 / 1463 / 265
Регистрация: 16.03.2008
Сообщений: 6,510
Записей в блоге: 2
12.05.2023, 12:21
pgb, внезапно, но здесь так же как и в PHP вам может помочь юниттестирование чтобы избежать ситуации "ой внезапно отвалилось и работает не так" в процессе разработки.
0
 Аватар для pgb
-508 / 32 / 0
Регистрация: 22.09.2015
Сообщений: 1,232
12.05.2023, 12:21  [ТС]
Цитата Сообщение от voral Посмотреть сообщение
И их вы заставляете тратить время....
Никого ничего не заставляю, не хотите помочь не надо. Лично вы мне только мешаете постоянно..
0
631 / 526 / 104
Регистрация: 05.08.2022
Сообщений: 2,810
12.05.2023, 12:23
Цитата Сообщение от pgb Посмотреть сообщение
Лично вы мне только мешаете постоянно..
пацталом
0
3061 / 1463 / 265
Регистрация: 16.03.2008
Сообщений: 6,510
Записей в блоге: 2
12.05.2023, 12:26
pgb, _itoa это, по вашему, нативная?
0
 Аватар для pgb
-508 / 32 / 0
Регистрация: 22.09.2015
Сообщений: 1,232
12.05.2023, 12:27  [ТС]
Цитата Сообщение от voral Посмотреть сообщение
внезапно, но здесь так же как и в PHP вам может помочь юниттестирование чтобы избежать ситуации "ой внезапно отвалилось и работает не так" в процессе разработки.
Я уже высказывал своё мнение по юнит тестам. С ними только хуже.. это вам не шлак писать для заказчика.. Короче тебе надо ты и делай, мне это не надо и больше не заикайся об этом.
0
3061 / 1463 / 265
Регистрация: 16.03.2008
Сообщений: 6,510
Записей в блоге: 2
12.05.2023, 12:29
Цитата Сообщение от pgb Посмотреть сообщение
С ними только хуже..
Можете обосновать?
0
 Аватар для pgb
-508 / 32 / 0
Регистрация: 22.09.2015
Сообщений: 1,232
12.05.2023, 12:31  [ТС]
Цитата Сообщение от voral Посмотреть сообщение
_itoa это, по вашему, нативная?
Если данная функция реализована в самом коде, то нативная. Если она подключается из библиотеки, то это уже стороннее решение, от чего могут быть проблемы при переходе на другую версию языка и тд.

Добавлено через 1 минуту
Цитата Сообщение от voral Посмотреть сообщение
Можете обосновать?
Уже обосновывал, на этом или другом форуме. Сейчас у меня нет желания тут опять всё расписывать.
0
3061 / 1463 / 265
Регистрация: 16.03.2008
Сообщений: 6,510
Записей в блоге: 2
12.05.2023, 12:51
Цитата Сообщение от pgb Посмотреть сообщение
Если данная функция реализована в самом коде, то нативная. Если она подключается из библиотеки, то это уже стороннее решение, от чего могут быть проблемы при переходе на другую версию языка и тд.
1 Прочитайте внимательно вывод компиляции, что я привел выше.
2 Почитайте еще раз внимательно и что написали выше и, если не верите, почитайте внимательно, что такое std. Т.е. по отношению к языку C++ std - это нативная библиотека - она неразрывна, в отличии от _itoa. Не подскажите в каком стандарте языка она описана?

Вот вам сайт найдите мне на нем упоминание о _itoa

Добавлено через 4 минуты
Цитата Сообщение от pgb Посмотреть сообщение
Уже обосновывал, на этом или другом форуме. Сейчас у меня нет желания тут опять всё расписывать.
все что вы сказали: "настоящие мужики пишут без багов". Но увы, вы сами этого ни разу не продемонстрировали. Значит мой совет верный - вам бы это помогло уменьшить время на постоянные поиски ответа на вопрос "что опять сломалось в моем чудо коде"

Тут просто в принципе "хуже" от применения любого вида тестирования быть не может. Единственно на начальном этапе приходится потратить немного времени на написание теста, но это дает так же и положительный эффект - заставляет внимательнее продумывать ситуации как должна вести себя (в случае юнит тестирования) та или иная функция. А в долгосрочной перспективе это экономит время.
0
 Аватар для pgb
-508 / 32 / 0
Регистрация: 22.09.2015
Сообщений: 1,232
12.05.2023, 19:20  [ТС]
С массивами разобрался.

voral, начинаю делать работу с диском, слабо написать юнит тесты

Для профи вопрос, какие есть готовые инструменты именно в C++?
Я уже делал работу с диском с такими заголовочными файлами как <sys/types.h>, <sys/stat.h>, <dirent.h>
Хотелось бы что-то посвежее, есть что для C++ чтобы удобно было получать список разделов, разную инфу, свободное место на диске и тд.
0
3061 / 1463 / 265
Регистрация: 16.03.2008
Сообщений: 6,510
Записей в блоге: 2
12.05.2023, 21:55
Цитата Сообщение от pgb Посмотреть сообщение
voral, начинаю делать работу с диском, слабо написать юнит тесты
В этом нет проблем. Более того не далее как в прошлом году приходилось вникать в вопрос тестирования Java приложения как раз таки работающим с файловой системой. Тупо лень было каждый раз ручками воспроизводить различные ситуации.

При этом вы должны понимать: нет необходимости покрывать тестами функции стандартной библиотеки для работы с ФС. Как и с любыми внешними, по отношению к вашему проекту, источниками информации.

Тестами покрывается только ваш код. Т.е. вы делаете некую функцию, которая выполняет некий функционал. вот именно этот функционал и надо проверять. С файловой системой, как и, например с БД, есть особенности, но это только особенности - а так обычное тестирование (ну если, конечно, вы знаете что это). По возможности мокаете, а дальше дело техники.

Добавлено через 4 минуты
Цитата Сообщение от pgb Посмотреть сообщение
Хотелось бы что-то посвежее
Как вариант можете присмотреться к библиотеке boost сразу оговорсь (а то вы ведь опять шарахнетесь "от сторонней") Библиотека точно также тесно связана с С++ и некоторые вещи из нее бывает переходят в стандарт C++. Там много удобного.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
12.05.2023, 21:55

Как создать свою библиотеку?
Как создать свою библиотеку со своими функциями и включить ее в основную программу?

Как создать свою библиотеку
Есть несколько понятий в которых путаюсь. библиотека - какой-то файл заголовочный файл - файл с объявлениями (описаниями) как...

Как правильно подключить свою библиотеку?
Здравствуйте всем. Я использую Visual Studio. В одном решении у меня находится проект библиотеки SEAL и проект SEALStart, из которого я...

Как написать свою библиотеку функций?
Я только начинаю изучать программирование на С++, параллельно разбираюсь с ООП. Вообще идеи ООП понятны и нравятся мне. Удобно разложить...

Как добавить свою библиотеку в стандартные С++
Доброго времени суток, уважаемые форумчане! Недавно стало интересно, можно ли добавить свою библиотеку к стандартным библиотекам с++. ...


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

Или воспользуйтесь поиском по форуму:
80
Ответ Создать тему
Новые блоги и статьи
Алиса нашла кучу ошибок компиляции и запуска в проекте, который без проблем компилировался и запускался)))
anaschu 30.06.2026
Я пока посмеюся, но завтра проверю. А вообще интерсно. Дал алисе файл, в котором точно нет ошибок компиляции и запуска, и попросил их найти. Нашла кучу))) Критические ошибки, мешающие компиляции и. . .
сукцессия 16. Общий обзор, в основном что бы другие ии поняли
anaschu 29.06.2026
# Передаточный документ: модель микоризной сукцессии (для нового чата) Этот документ предназначен для того, чтобы новый чат Claude мог продолжить работу без необходимости заново разбираться в. . .
сукцессия 15 неявная схема
anaschu 29.06.2026
Алиса Калибровка параметров симбиотической модели: технический обзор Содержание: Введение Постановка проблемы Технические аспекты реализации Процесс внедрения изменений
сукцессия 14. Обновленная схема модели
anaschu 28.06.2026
ГЛОБАЛЬНАЯ ОПИСАТЕЛЬНАЯ СПЕЦИФИКАЦИЯ ЭКОСИСТЕМНОЙ МОДЕЛИ «SOIL CHEMISTRY & MYCORRHIZA 2. 0» https:/ / ibb. co/ NnkGpfMd Представленная интегрированная схема описывает непрерывную нелинейную. . .
сукцессия 13. Питон модель трехзонного мицелия, пока что в основном арбускулярного
anaschu 28.06.2026
## Разработка агентной модели микоризной сукцессии: от выявления артефактов к созданию комплексной системы ### Аннотация Представлено исследование по разработке агентной модели микоризной. . .
сукцессия 12. краткий список проверок модели перед запуском.
anaschu 27.06.2026
Скрытые отказы в моделях систем динамики (SD-models) экологических систем: два случая из практики Контекст Разбирался прототип модели систем динамики (SD-модели) микоризной сукцессии: пять. . .
Сукцессия 11. Проверка орудий перед войной: разработка через тестирование
anaschu 27.06.2026
Как не дать модели соврать самой себе: проверки для симуляции микоризной сукцессии Введение Когда вы строите математическую модель живой системы — грибов, растений, почвы — главная опасность. . .
10 сукцессия. Питон код войны грибов и растений
anaschu 27.06.2026
import numpy as np class PlantAgent: def __init__(self, name, strategy, initial_biomass): self. name = name self. strategy = strategy # "greedy" (широколиственные) или. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru