Чтобы добавлять сообщения и комментарии, .

@blaze:
blaze

а расскажите мне за виртуальное наследование. Если есть class Base, class Derived1 : virtual Base и class Derived2 : Derived1, Base, то как они в памяти лягут?

@L29Ah:
L29Ah

Пример over the air апдейтов для esp8266 в фреймворке sming не только не осиливает скачять образ, но и умудряется запороть себя в процессе.

@Shura:
Shura

Похоже в войне за codestyle можно ставить точку. Я нашёл свой стиль!
twitter.com

@O01eg:
O01eg

drive.google.com

@OCTAGRAM:
OCTAGRAM

Смотрел одного летсплеера, он играл, играл, и тут у него игра вылетела. И прямо такое неподдельное удивление. Игра на консоли — и вылетает! Ну надо же, какой нежданчик! И у яблочников такое удивление встречал. Надо же, на Макосе программы тоже глючат и падают! И на Линуксе, представьте себе. Уж их собирали-собирали, в репозитории пакетов отправляли-отправляли. Как только над ними ни колдовали, какой только хренью, кроме того, что действительно поможет, ни занимались, а они всё равно падают и глючат.

Пользователей пека через уязвимости в программах, написанных на C и C++, имеют в хвост и в гриву двадцать лет, и всем плевать. А что, на игровых консолях в ходу какие-то другие языки разработки? Или, может, на Макинтошах Objective-C штурмует высоты безопасной разработки, конкурируя с Ada, Cyclone и Rust? Я что-то не слышал таких новостей. Так откуда эти завышенные ожидания? Можно только поздравить маркетологов, которые продают консоли и макинтоши как будто это философский камень, на котором программы на C и C++ чудесным образом начинают работать как-то не так, как обычно.

@L29Ah:
L29Ah

У меня всё крестоговно сломается если я переключусь с gcc-4.9.4 на gcc-5.3?

@Shura:
Shura

Короче, есть код:
my_shortcut = new QxtGlobalShortcut(this);
connect(my_shortcut, SIGNAL(activated()), m_model, SLOT(my_paste()));
my_shortcut->setShortcut(QKeySequence(QKeySequence::Paste));

Глобально перехватывает нажатие Ctrl+V и делает кое-что своё. Всё как бы работает, но есть один нюанс, после того, как моя программа вешается на шорткат, система больше не вставляет. Как выполнить свой код и вернуть шорткат системе, чтобы она тоже увидела, что пользователь вставить хочет и вставила бы?

@gcc:
gcc

OpenOCD прекрасно умеет обращаться с stm32 через stlink.
Прошить main.bin, проверить и сбросить МК:
openocd -f "interface/stlink-v2.cfg" -f "target/stm32f1x_stlink.cfg" -c "program main.bin verify reset"
Остановить МК:
openocd -f "interface/stlink-v2.cfg" -f "target/stm32f1x_stlink.cfg" -c "init" -c "reset halt" -c "exit"
Запустить (сбросить) МК:
openocd -f "interface/stlink-v2.cfg" -f "target/stm32f1x_stlink.cfg" -c "init" -c "reset run" -c "exit"
З.Ы.: Если не добавить -c "init" будет ругаться на неизвестную команду "reset".
З.Ы.Ы.: Если не добавить -c "exit" то останется в ожидании коннекта GDB.
З.Ы.Ы.Ы.: GDB нужно коннектить на порт 3333.

@OCTAGRAM:
OCTAGRAM

Можно бросать исключение как только заподозрено неладное и стучать на сервер по делу, а можно позволить ошибке дать метастазы, коллекционировать на сервере дампы, и по метастазам, разползшимся по всему дампу, определять, откуда они пошли.
<pewpew> плесну-ка и я бензинчику в ваш костёрчик: знаете ли вы, что когда флайлинк падает, он отправляет на сервер дамп памяти, в котором есть, в том числе, и ваши пароли?
<Karumo> pewpew, плеснул так плеснул....
<pewpew> то-то же, бережней обращайся с предметом, не роняй почём зря
<Karumo> у меня он пока не падал, да и паролей я там предусмотрительно не держу)
<HackFresse> но там — это ж в оперативке
<FlylinkDC-dev> pewpew полный дамп формируется если юзер соглашается с этим, а также если стек падения ранее не встречался. все последующие дампы такого типа идут в mini формате.
<FlylinkDC-dev> вот пример топового стека — yadi.sk все дампы мини и содержат только стек.
<FlylinkDC-dev> но раз тут такие параноики завелись можно будет приделать затирку пароля после отправки на сервер
<FlylinkDC-dev> pewpew предлагай где хранить пароль. чтобы он не попадал в дамп.

@O01eg:
O01eg

twitter.com

@OCTAGRAM:
OCTAGRAM

Был такой компилятор AdaMagic, умел транслировать Ada в C и C++. Там ещё и в Java компиляция была, но это и сейчас есть в GNAT. Потом SofCheck был куплен AdaCore, и этот компилятор пропал из поля зрения. Однако, его продают под другим брендом тут. Его там завернули в какой-то AppCOE на базе Eclipse, но всё это можно развернуть, выкинуть лишнее и докопаться до самых важных файликов, adacgen.exe и adabgen.exe. На них навешена типа защита. Типа — потому что там, во-первых, есть отладочная информация, во-вторых, неиспользуемые функции не выбрасываются. Очень пригодилась мне такая неиспользуемая функция, как write_license_file, например.

Файл license_key.txt генерить научился, зашифрованные DES файлы типа libadartl.a.enc, разшифровал, для PDF пароль нашёл, поставлю qpdf и тоже разшифрую, впрочем, PDF в открытом виде можно и так скачать с сайта. Сейчас пишу инструкции, чтобы мои действия можно было повторить со следующими версиями. Вообще, не похоже, чтобы новый владелец-индиец разбежался развивать этот компилятор, он, скорее, вокруг достраивает всякие OS абстракторы на C, так что смысла большого обновляться не вижу, но тем не менее. Если думать на тему использования вместе со всякими emscripten, то от libadartl.a толку не очень много, но на всякий случай оно есть. С самим компилятором надо ещё разбираться. Он по умолчанию работает в режиме Ada->C->GCC, но в GCC есть GNAT, который гораздо лучше, и если кто-то заинтересовался AdaMagic, как я, то сценарий изпользования у него будет позабористее, и надо читать доки.

Таким образом, теперь есть компилятор Ada->C/C++, с помощью которого можно целиться во всякие дурацкие, но иногда нужные платформы, хостится он либо на Windows, либо на Linux, а через эмуляторы можно потенциально запускать из ещё большего набора OS. По плану выложить на форум только для зарегистрированных пользователей. Раз и навсегда адвокаты языков программирования, для которых на всех платформах есть транслятор, уедят.

@O01eg:
O01eg

pbs.twimg.com

@alex0b:
alex0b

Всё же он больше обычный ребенок в свои 13 лет, чем красноглазый слизень шлепающий тентаклями по клавиатуре спектрума, каким был я. Посему осторожничаю, не вываливаю ему в бошку все эти прикольные штуки и страшные слова, чтобы интерес не убить. Все же детям тяжко с абстракциями, им надо визуально воспринимать. Думаю, может из консоли в гуй вылезти? Ну там шарики-квадратики в 2d порисовать, повращать, подвигать. И в таком бэкграунде двигать в сторону структур и алгоритмов. Есть чо такое в этих ваших виндовсах, чтобы быстро и в минимум строк: либа/фреймворк,  рисующая графические примитивы, скрывающая до поры до времени все кишки? GDI?

@L29Ah:
L29Ah

Зделал швабодную фирмварь для пятибаксового вайфай-выключателя: github.com

@lurker:
lurker

pbs.twimg.com

@OCTAGRAM:
OCTAGRAM

Микропроцессоры и вычислительные комплексы семейства «Эльбрус»
Искал подробности CHERI-подобных возможностей в Эльбрусе и нашёл в этой книге на странице 200: «Обеспечение защищённого исполнения программ на языках С и С++»

@k0st1x:
k0st1x

вышел новый фреймворк Cutelyst для разработки
web-приложений на C++ и Qt ...
в стиле Perl...
вот это жесть!
opennet.ru

@OCTAGRAM:
OCTAGRAM

Пришла, наконец, «Programming with DirectToSOM C++»

@OCTAGRAM:
OCTAGRAM

Using C++ classes in JavaScript
Вычитал тут такое:
JavaScript will automatically garbage collect any of the wrapped C++ objects when there are no more references. If the C++ object doesn’t require specific clean up (i.e. it doesn’t have a destructor) then no other action needs to be taken.Это каким, интересно, образом, движок JavaScript залезет в кучу emscripten и пометит область памяти как неиспользуемую именно тем способом, каким это делает текущая версия аллокатора emscripten

@OCTAGRAM:
OCTAGRAM

«Под Куполом» спонсировался Microsoft, и поэтому там у всех виндопланшеты с Windows 8. А в S02E08 хакер ломает комп, и что же на компе? Неужели тоже винды? Да, винды. Седьмые.

Но в восьмёрке–то все сишные и плюсовые компоненты переписали на Аде, такой Windows хакеры бы не сломали, уж конечно

@waterlaz:
waterlaz

Надеюсь, это я чего-то не понимаю и на с++ можно написать удобнее?

class SuperModel {
  public:
    int priorSizeX;
    int priorSizeY;
    int hueSize;
    int satSize;
    int valSize;
    SuperModel(int _priorSizeX=100, int _priorSizeY=100, 
               int _hueSize=60, int _satSize=32, int _valSize=16) :
                    priorSizeX{_priorSizeX}, priorSizeY{_priorSizeY},
                    hueSize{_hueSize}, satSize{_satSize}, valSize{_valSize} 
    {              
         ...
    }               
};

@OCTAGRAM:
OCTAGRAM

C++ Builder 10.1 Berlin Starter со 100% скидкой
Вдруг пригодится. Предложение действует до 12 августа.

@Zawullon:
Zawullon

Жуйк, а никто не подскажет, отличается ли в плюсцах представление в памяти классов и структур? В частности интересует наличие указателя на vtable при использовании виртуальных методов в структуре и отличия по смещениям по сравнению с классами. Точнее экземплярами классов.

@reflechant:
reflechant

Статья на хабре про развитие C++ (точнее отчёт о встрече в Оулу, где утвердили черновик стандарта C++17).

Самые заплюсованные комментарии:
"Хочется думать, что рано или поздно у них руки дойдут и до модулей. Серьезно, я готов недополучить всех этих плюшек, да даже ranges и concepts, лишь бы сделали модули. "

"Безобразное усложнение С++ волей-неволей заставляет смотреть в сторону Rust. "

"- К тому же, в упор непонятно, почему это length() — функция, а не свойство строки.
— Потому что в C++ нет свойств? Или я что-то пропустил?"

"Непонятно чем он[комитет] вообще занят. Импортов нет, концептов нет, filesystem нет. Даже pragma once(или ее аналог) не могут в язык внести. "

"- Особенно неоднозначное отношение к string_view — как говорится если раньше было два способа написать функцию работающую со строками, то теперь их три. И каждый из них по-своему плохой.

Впитывая в себя куски из boost'а стандарт становится такой же беспорядочной помойкой — безумно распухшей коллекцией «прикольных фишечек».

— string_view это как раз очень хорошо — но чертовски поздно. Как и array_view. Надеюсь, к 20-му году прикрутят. А должны были вкрутить ещё в самом начале, в крайнем случае в 11-й версии. Но не судьба."

"Потому что стандарт распух до неприличия — а многих действительно важных вещей нет до сих пор. А многих, таких как простого менеджера зависимостей и сборки, не будет никогда.
Поэтому С++ со временем выдавят. На это уйдёт куча времени, но его место займут другие языки. Что забавно, С, думаю, останется сильно дольше — т.к. он гораздо проще."

"Пора рефакторить язык "

"Есть мнение — на собеседованиях вопросов прибавится. Код останется прежним. "

"Шел 2016 год, а я так и не мог написать в программе std::optional; (ага, я в курсе что через пару лет заработает).
Зато постоянно добавляют кучу адовой эзотерики. Если раньше я мог сказать, что знаю С++, то теперь уже точно нет.

Интересно, помогает ли все это это языку? Если 10 лет назад на нем писали почти всё, то теперь он скатывается в нишевые направления — 3D движки, OpenCV, микроконтроллеры и немного десктопного Qt (сужу по заказам на UpWork).
Лично для меня, как стандартный C++/STL был непригодным к использованию 10 лет назад, так он и остается до сих пор (Строки, работа с файлами, сеть, потоки и т.д.). Даже долбаное кросплатформенное приложение с нативным GUI интерфейсом невозможно создать (когда там графический интерфейс появился, в начале 90х?). Утешает только Qt. "

@Zert:
Zert

На чём нынче принято делать асинхронщину в C++? Надо чтобы работало под виндой в том числе.
Варианты:
1. треды (вроде просто, но есть подводные камни)
2. libev
3. libuv
4. boost.asio

Может ещё что?

@rrrfer:
rrrfer

Заметка про умный указатель unique_ptr в #cplusplus, который может сделать ваш код гораздо более безопасным (в том числе, с точки зрения исключений).
#programming pro-prof.com

@rrrfer:
rrrfer

Заметка про виды ссылок (lvalue/rvalue/const) в С++ pro-prof.com

@rrrfer:
rrrfer

Заметка про классы управления ресурсами (идиому RAII) в С++: pro-prof.com

@RA:
RA

Нужна помощь знающих людей по си. Есть php расширение
github.com
оно преобразует массив в dom-документ. Но иногда вылетает "recursion detected", см строку 196. И я не знаю почему это могло бы происходить.
Тут может ещё скил в php расширениях нужен.

@ndtimofeev:
ndtimofeev

gist.github.com — Почему если в 48ой строке заменить явный захват указателя на сокет на & (захватывать всё по ссылке) всё 1) компилируется 2) но сегфолтится при любой попытке обратиться к переменной socket внутри лямбды? При этом, если определить socket вне лямбды вообще, то всё прекрасно захватывается по &.

@ndtimofeev:
ndtimofeev

Пришлось сесть за кресты впервые за последние года два. То ощущение когда внезапно на крестах проще городить абстракции и сложнее работать с данными чем в хаскеле.

@reflechant:
reflechant

Помогите что-ли. Попросили меня помочь с дз на Microsoft Visual C++. У меня стоит VS2015 Community. Я уже смирился, что простое MFC приложение создать невозможно — только с какими-то SDI, DOcument/View и пр. (я даже не очень знаю что это). Надеюсь, что это можно будет удалить потом, потому что мне нужна просто форма.

Сейчас проблема такая: я что-то сделал и когда создаю новое MFC приложение, графический редактор форм не открывается. И я не могу понять как его открыть.

@lurker:
lurker

интересный взгляд trevorjim.com

@max630:
max630

зачем изучать монады? Чтобы boost::optional::value_or_eval не возвращал value, блядь, _type

@segfault:
segfault

opennet.ru
В состав нового выпуска принято более 1400 изменений, из которых выделяется два улучшения языка. Первым улучшением языка является возможность <github.com> перегрузки операторов <ru.wikipedia.org> присвоения, таких как "+=" и "-=", что позволяет адаптировать их для манипуляции со сложными структурами данныхНе смешно.

@L29Ah:
L29Ah

bugs.kde.org

@Stepper:
Stepper

typedef int ( *LPFNDLLFUNC_GET_REQUEST_DATA )( bool, Date&, Date&, int, String&);
...
int res = reinterpret_cast<LPFNDLLFUNC_GET_REQUEST_DATA>(mApiFunctions[_T( "GetRequestData" )])(true, startDate, endDate, channel, answer);
...
std::map<String,void*> mApiFunctions;

itnotesblog.ru

@ndtimofeev:
ndtimofeev

Что-то я запамятовал. Если я вызываю delete для указателя на базовый класс без виртуального деструктора это UB? И что фактически должно случиться кроме утечки памяти и потери логики деструктора производного класса? А то я тут ищу double free в кишка std;;string и уже не знаю на что грешить.

@den-po:
den-po

Но если вам требуется дебажить constexpr, то вы мсье. :)