
Серж
16.07.2018
13:16:25
любому понятно, что парень пишет какой-то драйвер

Alexander
16.07.2018
13:16:29
если ты использешь, а сайд-эффекта не будет, то компилтяор тоже выкинет, если не дурачок

Крис
16.07.2018
13:16:34

Alexander
16.07.2018
13:16:36

Google

Серж
16.07.2018
13:16:47
а "a" - это отмапленная в память какая-то часть железяки

Alexander
16.07.2018
13:17:40
я для красоты всегда вывод пишу в консоль - его компилятор не дропнет (за некоторыми исключениями)

Серж
16.07.2018
13:17:54
cout в драйвере не лучшая идея, лучше cerr - он не буферизирует!

Юра Незнанов
16.07.2018
13:19:12

Серж
16.07.2018
13:19:30
я kprintf писал и работало!

Юра Незнанов
16.07.2018
13:22:51
ну только не тиккаунты конечно - это ведь винапи, а KeQuerySystemTime какой-нибудь

Max
16.07.2018
13:43:36
guys, гляньте вопрос плиз:
https://toster.ru/q/546604

Юра Незнанов
16.07.2018
13:49:51
а есть какие-нибудь читы для статической линковки в qtcreator?? чтобы без пересборки среды...
как-нить можно после получения екзешника, ссылающегося на дллки впихнуть в этот екзешник эти самые дллки (.lib ки)

yuri
16.07.2018
14:06:29

Юра Незнанов
16.07.2018
14:10:19

Google

Anton
16.07.2018
14:10:47

yuri
16.07.2018
14:11:20
Пересборка Qt — процесс на полдня. Деталей не скажу, мануал на работе. Скажу только, что весь проект был в вижуал-студии, и вручную подключались все препроцессоры к исходным файлам.

Юра Незнанов
16.07.2018
14:11:23

Anton
16.07.2018
14:12:23

yuri
16.07.2018
14:13:06

Anton
16.07.2018
14:13:56

Юра Незнанов
16.07.2018
14:17:47
а вот для тех, кто занимался гуишкой серьезно... Qt - хорошая либа?.. Как лучше гуи делать в дизайнере или ручками?

Alexander Alprog
16.07.2018
14:21:32
Сложно сказать.

Серж
16.07.2018
14:21:41
вы можете готовые скачать, даже на винде, ставьте msys2 и через pacman качаете пакеты qt5-static

Alexander Alprog
16.07.2018
14:21:41
Есть виджеты, есть — QML
Я предпочитаю виджетами долбить. Но это тесная интеграция кода и визуала.
По идее, если работаешь с дизайнером и хочется отвязаться от конкретного представления, то лучше qml.

Серж
16.07.2018
14:23:57
https://wiki.qt.io/MSYS2

Alexander Alprog
16.07.2018
14:25:23

Ilia
16.07.2018
14:26:59

Игорь
16.07.2018
14:27:11

Юра Незнанов
16.07.2018
14:27:54
О мои глаза!
ну я же написал читы, я то понимаю что нормальных способов, кроме пересборки всей среды нет\

Серж
16.07.2018
14:28:38
через msys без пересборки qt см. выше

Ilia
16.07.2018
14:28:41
Юра, иди учись.

Серж
16.07.2018
14:28:41
на винде

Google

Серж
16.07.2018
14:28:42
статик

Alexander Alprog
16.07.2018
14:28:50
а зачем вообще статик линковку делать?
есть какие-то причины помимо эстетических?

Ilia
16.07.2018
14:29:06
Да не за чем, в том и прикол

Серж
16.07.2018
14:29:29
статик стартует быстрее

Юра Незнанов
16.07.2018
14:30:10

Ilia
16.07.2018
14:30:11
Просто ламера полагают, что так размер программы будет меньше, стартовать она будет быстрее, а работать будет дольше... :-)

Серж
16.07.2018
14:30:11
ну и dll hell не страшен (?)

Ilia
16.07.2018
14:30:39

Серж
16.07.2018
14:31:19
в интернете так пишут, проверять я это конечно же не стал

Никита
16.07.2018
14:31:49
при статик линковке доступнo link time optimizations

Серж
16.07.2018
14:31:53
теоретически не надо подставлять адреса внешних функций
ну да, lto может бинарь меньше сделать, но я в том же интернете видел сообщения что с lto qt глючит на форумах того же qt

Никита
16.07.2018
14:33:15
оно и ускорение может дать хорошее
но проблемы со сборкой бывают, да

Серж
16.07.2018
14:33:36
ну и там лицензия lgpl, так что при статической линковке как я понимаю ты должен помимо исполняемого файла предоставить объектники, для пересборки с новой версией qt

Ilia
16.07.2018
14:34:58
Ребята, давайте прекратим пустой и дешёвый трёп.
А то придут люди в чат, и подумают чертечто...

Alexander Alprog
16.07.2018
14:35:19

Дед Пегас
16.07.2018
14:35:43
(Сорян за оффтоп: Alprog это не тот самый Alprog с gamedev.ru?)

Alexander Alprog
16.07.2018
14:35:53
Тот самый

Google

Дед Пегас
16.07.2018
14:36:22
Прикольно)

Alexander Alprog
16.07.2018
14:36:50
(меня ещё кто-то помнит - это тоже прикольно)

Ilia
16.07.2018
14:37:40

Alexey
16.07.2018
15:29:32
а имеет ли право компилятор c++ как-то оптимизировать выражения с double?
то есть например
x*y*c + z*c
свести к
(x*y+z)*c
? Ведь по факту ответ может получиться другой.

Ignat
16.07.2018
15:30:31
в большинстве случаев не имеет как раз поэтому

Alexander
16.07.2018
15:30:37
если без флага, то не имеет

Alexey
16.07.2018
15:31:12
а, т.е. стандарт запрещает, но есть флаг в реализаии некоторых компиляторов, где ты явным образом разрешаешь?

Alexander
16.07.2018
15:31:17

Alexey
16.07.2018
15:31:36
спасибо

Alexander
16.07.2018
15:31:51
ну как бы Стандарт не запрещате такие оптимизации, там просто сказано, что операции с float-point реализщованы согласно IEEE какой-то номер

Alexey
16.07.2018
15:33:51
в с++ не сказано про IEEE. сказано в си (то есть там это обязательно по IEEE теперь).
гм. в icc похоже -ffast-math вшит по умолчанию.

Руслан
16.07.2018
15:56:57
Друзья, а можно краткий в пару предложений ликбез о смартпойнтерах в многопотчном окружении: трейдофф выходит равный атомикам? Это самый оптимальный способ управления в случае создания и удаления в хипе большого количества обьектов, используемых в многих потоках без создания пулла переизпользования таких объектов? Как взгугольнуть сравнение с отложенной сборкой мусора?
Или это к новичкам?
Интересует в контексте внезапно возникшего вопроса в голове о категорическом нежелании питоновского сообщества встраивать ARC/GC и избавления от GIL даже в каком-нибудь форке интерпритатора. Медленно, говорят, и не понимаю, как так ведь в плюсах смарты- тот же ARC только руками. Я правильно понимаю?

Ilia
16.07.2018
16:13:30

Max
16.07.2018
16:14:28

Ilia
16.07.2018
16:15:56

Google

Max
16.07.2018
16:19:53
)))

Andrey
16.07.2018
16:20:59
Вообще-то, это очень хороший вопрос. Да, в JVM и .NET предпочли чисто GC гибридной схеме reference counting + GC, чтобы не платить стоимость атомарной операцией при каждом копировании ссылочного объекта. Я сталкивался, с тем что из-за false sharing объекта (созданного через make_shared) и его счетчика ссылок программа замедлялась.

Ilia
16.07.2018
16:22:00
Python просто тупо самый медленный из всех существующих нынче языков.

Max
16.07.2018
16:22:00


Руслан
16.07.2018
16:22:11
В питоне референс каунтинг, у каждого обьекта внутри есть счетчик ссылок.
Ок. Многоточность и атомики: если ты хочешь считать внутри обьекта количество активных ссылок на него, то для этого прийдется использовать атомики ибо этот счетчик - общий ресурс. Нет?
ARC - automatic reference counting, objc/swift. Компайлер расставляет вызовы повышения и понижения счетчиков сам. Смартпойнтеры - суть для того же, только счетчик в объекте смартпойнтера, а не самих обьектах, в отличии от арц. Нет?
Питон и GIL - не знаю, как пояснить. Неразрывно идут под ручку, ибо в питоне тот же подсчет ссылок внутри обьекта, но из-за лока на выполнение в одной лишь треде одновременно подсчет происходит без атомарных операций. (Тогда тут уже плавать пошли). Нет?

Max
16.07.2018
16:23:18

Ignat
16.07.2018
16:23:31


Ilia
16.07.2018
16:23:45
В питоне референс каунтинг, у каждого обьекта внутри есть счетчик ссылок.
Ок. Многоточность и атомики: если ты хочешь считать внутри обьекта количество активных ссылок на него, то для этого прийдется использовать атомики ибо этот счетчик - общий ресурс. Нет?
ARC - automatic reference counting, objc/swift. Компайлер расставляет вызовы повышения и понижения счетчиков сам. Смартпойнтеры - суть для того же, только счетчик в объекте смартпойнтера, а не самих обьектах, в отличии от арц. Нет?
Питон и GIL - не знаю, как пояснить. Неразрывно идут под ручку, ибо в питоне тот же подсчет ссылок внутри обьекта, но из-за лока на выполнение в одной лишь треде одновременно подсчет происходит без атомарных операций. (Тогда тут уже плавать пошли). Нет?
0)
Ок. Многоточность и атомики: если ты хочешь считать внутри обьекта количество активных ссылок на него, то для этого прийдется использовать атомики ибо этот счетчик - общий ресурс. Нет? Ответ -- НЕТ.
Если ты хочешь считать ссылки в многопоточном окружении -- то да.


Andrey
16.07.2018
16:24:48

Ilia
16.07.2018
16:24:54

Руслан
16.07.2018
16:26:01
2) https://en.m.wikipedia.org/wiki/Automatic_Reference_Counting


Ilia
16.07.2018
16:26:34
В питоне референс каунтинг, у каждого обьекта внутри есть счетчик ссылок.
Ок. Многоточность и атомики: если ты хочешь считать внутри обьекта количество активных ссылок на него, то для этого прийдется использовать атомики ибо этот счетчик - общий ресурс. Нет?
ARC - automatic reference counting, objc/swift. Компайлер расставляет вызовы повышения и понижения счетчиков сам. Смартпойнтеры - суть для того же, только счетчик в объекте смартпойнтера, а не самих обьектах, в отличии от арц. Нет?
Питон и GIL - не знаю, как пояснить. Неразрывно идут под ручку, ибо в питоне тот же подсчет ссылок внутри обьекта, но из-за лока на выполнение в одной лишь треде одновременно подсчет происходит без атомарных операций. (Тогда тут уже плавать пошли). Нет?
Питон и GIL - не знаю, как пояснить. Неразрывно идут под ручку, ибо в питоне тот же подсчет ссылок внутри обьекта, но из-за лока на выполнение в одной лишь треде одновременно подсчет происходит без атомарных операций. (Тогда тут уже плавать пошли). Нет?
Как это связано с многопоточностью всё ?


Руслан
16.07.2018
16:26:36
Так, а что в итоге в плюсах используют для этого в многопоточном окружении, если sharedptr без атомиков?

Ignat
16.07.2018
16:30:16
посылка ложна