
Pavel
25.01.2018
08:26:39
И чем больше тем лучше

Evgeny
25.01.2018
08:26:54

Pavel
25.01.2018
08:27:16
Да есть empty

Evil
25.01.2018
08:27:34

Google

Pavel
25.01.2018
08:28:20
Глянь в исходники, там внутри читается в буфер. И потом возвращается его длина.

Evgeny
25.01.2018
08:28:32

Evil
25.01.2018
08:28:37
А буфер не мы задаём?

Igor
25.01.2018
08:28:52
Вообще должен быть вызов типа read в котором указан размер доступного буфера и нужно ли ждать его полного заполнения или можно вернуться при наличии любых данных

Pavel
25.01.2018
08:28:57
Если мы в буфер прочитали 500 байт то у нас гарантировано 500 байт

Evil
25.01.2018
08:29:11

Igor
25.01.2018
08:29:14
Не юзерское это дело спрашивать есть данные или нет

Evil
25.01.2018
08:30:28

Evgeny
25.01.2018
08:30:29

Pavel
25.01.2018
08:33:31
http://forum.rejectedsoftware.com/groups/rejectedsoftware.vibed/thread/24403/#post-24416
Вот тут Людвиг и предлагает эти костыли

Google

Pavel
25.01.2018
08:34:57
Я так и сделал и смотрел удивлялся почему моя прокся при скачке файла выжирает одно ядро на 100%, а оказывается он по 1 байту читает в цикле :D

Evgeny
25.01.2018
08:35:42

Pavel
25.01.2018
08:36:47
ну да и std.socket тоже нормально читают в неполный буфер

Igor
25.01.2018
08:36:53
Да... kqueue это отдаёт сразу по получении ивента
В линухе наверное нужен отдельный вызов

Pavel
25.01.2018
10:23:08
В общем я еще вчера интересное на форуме вычитал, не знаю говорили тут об этом ли нет. Есть чел по имени Илья Ярошенко. Еще год назад он поднял тему модульной стандартной библиотеки в режиме betterC и начал ее пилить
Подробности драмы можно прочитать тут http://forum.dlang.org/thread/phexetutyelrssyrucvw@forum.dlang.org
https://github.com/libmir/ а вот сама библиотека, но поскольку он математик-статистик, то в ней очень сильный уклон во всякие тензоры и прочий матан, и плохо развиты системные вещи. Имеет смысл в нее поконтрибутить или использовать ее как базу для betterC проектов.

Stepanos
25.01.2018
10:27:32
ооо, крутой дядька

Evgeny
25.01.2018
11:15:23
я всегда считал мир математической либой, там вообще системные вещи есть?

Pavel
25.01.2018
11:18:53
Вроде там только из этого какие-то зачатки безмусорных слайсов и контейнеры
Ну в общем все то что базово требуется почти всегда

qwerty
25.01.2018
11:19:53
так а на betterC есть какие-нибудь умные указатели?

Pavel
25.01.2018
11:20:58
Стандартного я ничего не встречал, велосипедов наверное много

Maxim
25.01.2018
11:23:18
самому за несколько секунд можно сделать)
https://paste.ofcode.org/xgEDqMVGMb4JU8e77eUwEx вот, например)

Igor
25.01.2018
11:24:20
такой вектор можно только по ссылке передать

Pavel
25.01.2018
11:26:14
Кстати а стилистически
this (size_t n) nothrow @nogc так принято писать? Я всегда пишу всякие @nogc перед именем функции
Причем на строке выше

Maxim
25.01.2018
11:27:28
у меня как-то по настроению)

Google

Maxim
25.01.2018
11:28:23
обычно @ после имени, а nothrow перед, но пришел к выводу, что это практически такой же атрибут, как всякие @nogc, и теперь пишу после)
соображения у меня такие: сначала хочется видеть приватность/публичность метода, потом возвращаемое значение, потом параметры вызова, и уже в последнюю очередь дополнительные ограничения
по крайней мере, у меня так)

Mike
25.01.2018
11:58:06
Давно хотел спросить: на кой ляд этот size_t..? ?

Maxim
25.01.2018
12:00:00
он разный для 32 и 64 бит
32 и 64 бита соответственно)

Mike
25.01.2018
12:01:30
А смысл в нём вообще какой? Размер чего это? Почему нужно обязательно под архитектуру его подбирать?

Maxim
25.01.2018
12:03:48
мы тут как-то обсуждали уже вопрос и пришли к выводу, что исторически — это размер указателя на конкретной архитектуре
есть еще diffptr_t — он той же битности, что size_t, но со знаком

Alexey
25.01.2018
12:05:20
прямо как в плюсах :-)

Maxim
25.01.2018
12:05:30
прямо да

Pavel
25.01.2018
12:11:45
Если тебе нужен размер строки или размер массива или размер буфера или блока памяти или объекта, сразу берешь size_t и не думаешь особо
Хотя для очень больших объектов которые не помещаются в память целиком и лежат на диске, этого не хватит.
На 64 битах это получается 16 тысяч петабайт примерно можно охватить
Думаю до 2020 таких размеров точно будет хватать

Maxim
25.01.2018
12:15:36
если еще более абстрактно, то size_t — это максимальный размер непрерывного участка памяти, который теоретически способна предоставить архитектура)

Mike
25.01.2018
12:17:46

Pavel
25.01.2018
12:18:31
Ты прав, именно поэтому тебе не надо выбирать между uint и ulong, а можно просто писать size_t

Google

Pavel
25.01.2018
12:19:27
> я всегда выбираю тип в зависимости от максимального возможного значения, которое собираюсь хранить
Ты сам не можешь знать какой тип будет в качестве адреса, если ты его жестко зафиксируешь то при сборке на 32битной архитектуре может все покрешиться
Или наоборот, возьмешь ulong, а потом придумают 128битную архитектуру, и опять твоя программа покрешится

Mike
25.01.2018
12:25:54

Pavel
25.01.2018
12:26:25
Не только адрес но и размер
Массива, блока памяти

Maxim
25.01.2018
12:29:25
собственно, встроенные массивы — это две переменные, насколько я понимаю, размера size_t: размер массива и указатель на начало)
ну и вообще, когда программа вспоминает, что она выполняется на электронном устройстве, начинается жонглирование указателями хотя бы неявное)

qwerty
25.01.2018
13:36:22
https://github.com/atilaneves/automem можно в betterC использовать?

Pavel
25.01.2018
13:38:18
Я вижу там есть немного использования std. библиотеки, может не заработать

Admin
ERROR: S client not available

Mike
25.01.2018
14:26:39
ещё вопросик от дилетанта: каким образом ЭТО работает?
(ниже два скрина)
Уточню: КАК импорт модуля может добаить свойств/методов кому-то из другого модуля??? ?

qwerty
25.01.2018
14:28:11
UFCS
"123 456 567".split тоже самое что и split("123 456 567")

Dmitriy
25.01.2018
14:29:25
Вопрос был в другом надо полагать. Как классу массив добавляется новый метод при подключении дополнительного пакета

qwerty
25.01.2018
14:29:56
классу новых методов не добавляется
импортирутеся метод split
который вызывается

Google

qwerty
25.01.2018
14:31:31
https://tour.dlang.org/tour/en/gems/uniform-function-call-syntax-ufcs

Mike
25.01.2018
14:32:22

Dmitriy
25.01.2018
14:34:47

Mike
25.01.2018
14:52:16

Evgeny
25.01.2018
15:10:48
не, пропустил.
полагаю, что с ЕСП пока все плохо. Оно все запроприетарено, поэтому компилятора D для него не существует. Статья в начальной стадии из-за моих частых поездок по стране.
Как только запузырю статью в песочницу обязательно отпишусь в эту группу


Mike
25.01.2018
15:37:07
не, пропустил.
полагаю, что с ЕСП пока все плохо. Оно все запроприетарено, поэтому компилятора D для него не существует. Статья в начальной стадии из-за моих частых поездок по стране.
всегда поражался китайским бизнесменам - выпустили вкусную железк уи продают за копейки, однако выжать из неё весь потенциал невозможно, потому что софтовая часть для неё в состоянии попаболь ? я вот сейчас даже не смог нагуглить какая именно архитектура у ядра - то ли arm, то ли mips......
Вот за это мне нравятся старые-добрые АВРки: подробная инфа в открыторм доступе, давно запилен gcc и libc сооответственно, куча всяких программаторов (мне нравится usbASP в связке с avrdude ?) — я просто психологически отдыхаю когда на АВРке что-то делаю...... серьёзно: когда нервы уже не выдерживают мирового дерьма, то я сажусь паять какую-нибудь железку (хоть усилитель на биполятниках навесным монтажем), а потом программировать АВРку...... ?
так обидно порой становится от того что в этом мире 99% вещей сделаны через жопу.................................................... ?


Evgeny
25.01.2018
15:38:41
причем с вайфаем тоже есть сборки


Mike
25.01.2018
15:41:39
причем с вайфаем тоже есть сборки
покажи варианты)) а то как-то они популярностью во всяких хобби-магазинчиках не пользуются.... а та же esp8266 190р в питере стоит (http://roboshop.spb.ru/esp-12e) - под неё адаптирована Mongoose OS и там на яваскрипте можно "хуяк хуяк и в продакшин" какую-нить простенькую хрень........... но это всё как-то "не серьёзно"(( хочется больше контроля железа, больше эффективности...

Evgeny
25.01.2018
15:45:00
https://m.seeedstudio.com/productDetail/2122
или помельче
https://m.seeedstudio.com/productDetail/2488
оно правда подороже, зато известная архитектура, даташиты
и гпио много

Mike
25.01.2018
15:48:40

Evgeny
25.01.2018
15:49:40
после аврок (особенно ардуины), стмки разрывают мозг
но моща поражает, вручную дрыгать ногами практически не нужно

Mike
25.01.2018
15:59:22