![]() -104 / 32 / 0
Регистрация: 22.09.2015
Сообщений: 1,171
|
|
Пишу свою библиотеку C++04.04.2023, 20:22. Показов 7515. Ответов 122
Метки нет Все метки)
(
Приветствую!
Кто хочет поучится программированию на C++ за одно написать нужные классы и функции для будущих своих разработок, предлагаю присоединиться к разработке своей библиотеки C++. Зачем я это делаю? Кто-то скажет есть же уже готовые библиотеки, зачем изобретать велосипед и тд. Во-первых в существующих много лишнего чем вы никогда не воспользуетесь и нужно их изучать подстраиваться под их синтаксисы и тд. проблемы при отладке т.к. не знаете как что работает и тп. Во-вторых в своих знаешь, что и как работает, при необходимости можно доработать, написаны только самые основные нужные функции и классы с удобным для себя синтаксисом. В-третьих при создании своей библиотеки вы изучаете нативные функции и возможности самого языка программирования и на примерах пишите по своему, тестируете и оттачиваете свои мастерство и знания, которые в последствии вам помогут при создании своих будущих проектов. В перспективе я планирую написать с помощью своей библиотеки базу данных, язык программирования, веб-сервер. Ещё есть мысль с применением графической библиотеки wxWidgets(возможно другой) написать заголовочный файл для быстрого создания окон, элементов окна и др. https://github.com/arbnet/CppLibrary
1
|
04.04.2023, 20:22 | |
Ответы с готовыми решениями:
122
Создать свою библиотеку в С++ Создать свою библиотеку Разработать свою библиотеку |
![]() -104 / 32 / 0
Регистрация: 22.09.2015
Сообщений: 1,171
|
|
12.05.2023, 11:34 [ТС] | |
Я просил нативное решение, где написана замена _itoa? Упс. Вы угрожаете?
Где написано? А у вас я ничего не спрашивал.. Ну а нафига я код в гит выложил. Всё просто делается, кому интересно тот мог бы потестить у себя и увидеть проблему, если соображалка работает.
0
|
12.05.2023, 11:51 | |
1 Т.е. вы обязываете желающего помочь потратить как можно больше времени?
2. Я скачал ваш код, но я не пользуюсь Windwos и ваш код не компилируется - прикажете его доработать, чтоб ответить на ваш вопрос, в котором вы поленились расписать проблему? 3. Как и в случае с PHP кодом вы пренебрегаете общепринятыми подходами к стилю кода (при чем я имею ввиду именно общепринятые - т.е. есть всякие споры табы vs пробелы, camelcase vs snake_case, где ставить открывающую блок скобку - я не про это, между ними все равно есть общее), но у вас свой путь и это еще дополнительно затрудняет читаемость.. 4. Может у вас ошибки связаны конкретно с вашей системой (я вам уже рассказывал случай, когда ошибка возникала из-за глючной видео карты). И что искать? А так код я посмотрел. Если разбирать то куча вопросов по нему. Но есть ли в этом смысл - учитывая ваш стиль общения? PS Обратите внимание. Я здесь пытался удержаться в нормальном русле обсуждения про код, и именно вы начали опять свою тему скатывать в "вы ни чего серьезного не писали", "вы ни чего не понимаете"..... На хрен вы вообще на форуме что то пишите если вы такой офигенный гений? И что значило выше ваша фраза о том что вы в плюсах новичок?
0
|
617 / 513 / 104
Регистрация: 05.08.2022
Сообщений: 2,768
|
|
12.05.2023, 12:06 | |
Ликбез: нативным называется решение, предоставляемое непосредственно платформой/языком. Для С++ все нативные решения - они в std.
Угрожают не так, мил человек. Да и нафик ты такой сплющился, угрожать тебе ![]()
0
|
![]() -104 / 32 / 0
Регистрация: 22.09.2015
Сообщений: 1,171
|
|
12.05.2023, 12:08 [ТС] | |
Никого ничему не обязываю, кто захочет помочь тот поможет, за что я буду благодарен.
Всё компилируется. Если вы не умеете готовить, то не суп виноват, а повар.. Я указывал на проблемы, они сразу выявляются, при запуске теста всё видно. Код хорошо читаем, никто кроме вас не жалуется. Это у таких как вы ошибки из видео карты и тд. А не надо мой код разбирать, разбирайте свой. Я лишь хочу написать ещё один удобный инструмент для своих разработок, если кому будет полезен, кто включится в разработку или будут помогать дельными советами как что сделать, буду только рад, а не стараться обосрать как вы обычно делаете, это мне только мешает, отвечать вам на ваши высеры.. Я занимаюсь делом, это раз, бывают проблемы с которыми сразу не получается разобраться поэтому хочется чтобы нашлись люди кто более опытнее которые могут что-то подсказать и тд. не всегда это происходит, но всё же я нахожу решения несмотря на негатив от некоторых участников форума.
0
|
617 / 513 / 104
Регистрация: 05.08.2022
Сообщений: 2,768
|
|
12.05.2023, 12:13 | |
Эта пять!
![]() Даже не знаю, сочувствовать voral или "так ему и надо, сам напросился". Ведь даже по этой ветке было понятно\, что может быть только такой ответ. pgb, слушай, как ты вообще живёшь? ну вот по жизни. Наверное сплошные сволочи кругом?
0
|
12.05.2023, 12:13 | |||||||||||
Реально? test.cpp - это ваш тестовый код в этой теме
0
|
![]() -104 / 32 / 0
Регистрация: 22.09.2015
Сообщений: 1,171
|
|
12.05.2023, 12:14 [ТС] | |
Сами себе противоречите. Вот именно нативным является решение написанное на самом языке, без использования библиотек, а std это библиотека, хоть и признана стандартной, использования её функцией это не нативное решение реализованное непосредственно языком. Вот без std напишите нативно функцию _itoa тогда это будет нативным решением.
0
|
12.05.2023, 12:16 | |
Да не надо - я осознавал риски отвечая в этой теме
![]() Добавлено через 1 минуту И их вы заставляете тратить время....
0
|
617 / 513 / 104
Регистрация: 05.08.2022
Сообщений: 2,768
|
|
12.05.2023, 12:21 | |
В школу! Учиться!! Потом только голос подавать.
До просветления читать как минимум содержание у книг про С++, в стандарт даже не посылаю. Быть может после сотого прочтения содержания дойдёт, что std - это неотъемлемая часть именно языка C++ наравне с фигурными скобочками.
0
|
12.05.2023, 12:21 | |
pgb, внезапно, но здесь так же как и в PHP вам может помочь юниттестирование чтобы избежать ситуации "ой внезапно отвалилось и работает не так" в процессе разработки.
0
|
12.05.2023, 12:26 | |
pgb, _itoa это, по вашему, нативная?
0
|
12.05.2023, 12:29 | |
0
|
![]() -104 / 32 / 0
Регистрация: 22.09.2015
Сообщений: 1,171
|
|
12.05.2023, 12:31 [ТС] | |
Если данная функция реализована в самом коде, то нативная. Если она подключается из библиотеки, то это уже стороннее решение, от чего могут быть проблемы при переходе на другую версию языка и тд.
Добавлено через 1 минуту Уже обосновывал, на этом или другом форуме. Сейчас у меня нет желания тут опять всё расписывать.
0
|
12.05.2023, 12:51 | |
1 Прочитайте внимательно вывод компиляции, что я привел выше.
2 Почитайте еще раз внимательно и что написали выше и, если не верите, почитайте внимательно, что такое std. Т.е. по отношению к языку C++ std - это нативная библиотека - она неразрывна, в отличии от _itoa. Не подскажите в каком стандарте языка она описана? Вот вам сайт найдите мне на нем упоминание о _itoa Добавлено через 4 минуты все что вы сказали: "настоящие мужики пишут без багов". Но увы, вы сами этого ни разу не продемонстрировали. Значит мой совет верный - вам бы это помогло уменьшить время на постоянные поиски ответа на вопрос "что опять сломалось в моем чудо коде" Тут просто в принципе "хуже" от применения любого вида тестирования быть не может. Единственно на начальном этапе приходится потратить немного времени на написание теста, но это дает так же и положительный эффект - заставляет внимательнее продумывать ситуации как должна вести себя (в случае юнит тестирования) та или иная функция. А в долгосрочной перспективе это экономит время.
0
|
![]() -104 / 32 / 0
Регистрация: 22.09.2015
Сообщений: 1,171
|
|
12.05.2023, 19:20 [ТС] | |
С массивами разобрался.
voral, начинаю делать работу с диском, слабо написать юнит тесты ![]() Для профи вопрос, какие есть готовые инструменты именно в C++? Я уже делал работу с диском с такими заголовочными файлами как <sys/types.h>, <sys/stat.h>, <dirent.h> Хотелось бы что-то посвежее, есть что для C++ чтобы удобно было получать список разделов, разную инфу, свободное место на диске и тд.
0
|
12.05.2023, 21:55 | |
В этом нет проблем. Более того не далее как в прошлом году приходилось вникать в вопрос тестирования Java приложения как раз таки работающим с файловой системой. Тупо лень было каждый раз ручками воспроизводить различные ситуации.
При этом вы должны понимать: нет необходимости покрывать тестами функции стандартной библиотеки для работы с ФС. Как и с любыми внешними, по отношению к вашему проекту, источниками информации. Тестами покрывается только ваш код. Т.е. вы делаете некую функцию, которая выполняет некий функционал. вот именно этот функционал и надо проверять. С файловой системой, как и, например с БД, есть особенности, но это только особенности - а так обычное тестирование (ну если, конечно, вы знаете что это). По возможности мокаете, а дальше дело техники. Добавлено через 4 минуты Как вариант можете присмотреться к библиотеке boost сразу оговорсь (а то вы ведь опять шарахнетесь "от сторонней") Библиотека точно также тесно связана с С++ и некоторые вещи из нее бывает переходят в стандарт C++. Там много удобного.
0
|
12.05.2023, 21:55 | |
Помогаю со студенческими работами здесь
80
Как создать свою библиотеку
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Опции темы | |
|
Новые блоги и статьи
![]() |
||||
Компиляция C++ с Clang API
NullReferenced 24.03.2025
Компиляторы обычно воспринимаются как черные ящики, которые превращают исходный код в исполняемые файлы. Мы запускаем компилятор командой в терминале, и вуаля — получаем бинарник. Но что если нужно. . .
|
Многопоточное программирование в C#: Класс Thread
UnmanagedCoder 24.03.2025
Когда запускается приложение на компьютере, операционная система создаёт для него процесс - виртуальное адресное пространство. В C# этот процесс изначально получает один поток выполнения — главный. . .
|
SwiftUI Data Flow: Передача данных между представлениями
mobDevWorks 23.03.2025
При первом знакомстве со SwiftUI кажется, что фреймворк предлагает избыточное количество механизмов для передачи данных: @State, @Binding, @StateObject, @ObservedObject, @EnvironmentObject и другие. . . .
|
Моки в Java: Сравниваем Mockito, EasyMock, JMockit
Javaican 23.03.2025
Как протестировать класс, который зависит от других сложных компонентов, таких как базы данных, веб-сервисы или другие классы, с которыми и так непросто работать в тестовом окружении? Для этого и. . .
|
Архитектурные паттерны микросервисов: ТОП-10 шаблонов
ArchitectMsa 22.03.2025
Популярность микросервисной архитектуры объясняется множеством важных преимуществ. К примеру, она позволяет командам разработчиков работать независимо друг от друга, используя различные технологии и. . .
|
Оптимизация рендеринга в Unity: Сортировка миллиона спрайтов
GameUnited 22.03.2025
Помните, когда наличие сотни спрайтов в игре приводило к существенному падению производительности? Время таких ограничений уходит в прошлое. Сегодня геймдев сталкивается с задачами совершенно иного. . .
|
Образование и практика
Igor3D 21.03.2025
Добрый день
А вот каково качество/ эффективность ВУЗовского образования? Аналитическая геометрия изучается в первом семестре и считается довольно легким курсом, что вполне справедливо. Ну хорошо,. . .
|
Lazarus. Таблица с объединением ячеек.
Massaraksh7 21.03.2025
Понадобилась представление на экране таблицы с объединёнными ячейками. И не одной, а штук триста, и все разные. На Delphi я использовал для этих целей TStringGrid, и то, кривовато получалось. А в. . .
|
Async/await в Swift: Асинхронное программирование в iOS
mobDevWorks 20.03.2025
Асинхронное программирование долго было одной из самых сложных задач для разработчиков iOS. В течение многих лет мы сражались с замыканиями, диспетчеризацией очередей и обратными вызовами, чтобы. . .
|
Колмогоровская сложность: Приёмы упрощения кода
ArchitectMsa 20.03.2025
Наверное, каждый программист хотя бы раз сталкивался с кодом, который напоминает запутанный лабиринт — чем дальше в него погружаешься, тем сложнее найти выход. И когда мы говорим о сложности кода, мы. . .
|