LINUX.ORG.RU

C++


364

18

Всего сообщений: 278

Вышел Boost 1.66

 ,

Группа Разработка

Boost — кроссплатформенный набор библиотек C++ для разных задач.

Новые библиотеки:

  • Beast — реализация протоколов HTTP/1 и WebSocket поверх Asio;
  • CallableTraits — интроспекция и модификация callable types, наследник Boost.FunctionTypes;
  • Mp11 — библиотека метапрограммирования на основе C++11.

Из прочих изменений можно отметить:

  • Asio — API изменен в соответствии с Networking TS;
  • Atomic — новые экспериментальные операции fetch_negate, <op>_and_test, bit_test_and_set и другие;
  • Stacktrace — улучшена поддержка MinGW;
  • Thread — новые экспериментальные методы promise: set_value_deferred/set_exception_deferred.

>>> Подробности (boost.org)

anonymous
()

Platform-Independent Primitives (PIP)

 , , , ,

Группа Разработка

PIP — кроссплатформенная легковесная библиотека под C++ (99), упрощающая написание консольных программ. Представляет собой связный набор классов, макросов и функций, которые значительно упрощают написание кода во многих прикладных областях. Основной упор в библиотеке сделан на функциональность, конфигурируемость и минимизацию конечного кода.

( читать дальше... )

>>> Скачать (sourceforge.net)

peri4
()

C++ User Group, встреча в Москве

 , ,

Группа Конференции и встречи

Бонжур, лез ами!

C++ User Group начинает проводить регулярные встречи в Москве по примеру Санкт-Петербурга: одна встреча каждый месяц-полтора. На каждой встрече от одного до трёх докладов, каждая встреча в офисе какой-нибудь доброй компании, которая согласится пустить в гости.

Первая встреча пройдет 6 ноября в офисе Align Technology. На встрече будет три доклада. Откроет встречу специальный гость — Sean Parent — ведущий научный сотрудник (principal scientist) и архитектор ПО из Adobe.

Зарегистрироваться на встречу можно здесь.

Программа встречи

  • 14:00 — регистрация;
  • 14:30 — Sean Parent, «Better Code: Human interface»;
  • 16:00 — Mikhail Matrosov, «Daily C++: algorithms and iterators»;
  • 17:30 — Anton Tokar, «Boost::multi_index debug visualization in Visual Studio».

>>> Подробности (cpp-russia.ru)

sermp
()

Google представил открытую библиотеку Abseil для разработчиков на C++

 , , ,

Группа Google

В понедельник Google выпустил исходные коды библиотеки Abseil, созданной для того, чтобы значительно дополнить стандартную библиотеку языка C++. Данный код на протяжении многих лет использовался как базовая библиотека при разработке закрытого ПО, но был вынесен в отдельный открытый проект для упрощения открытия исходных кодов и разработки других библиотек, например, protobuf, grpc и tensorflow. Код распространяется под лицензией Apache 2.0.

Библиотека собирается с помощью bazel — системы сборки с открытым кодом, которая используется в Google. Данная система сборки позволяет точно контроллировать зависимости и получать воспроизводимые артефакты, но достаточно неудобна для повседневного использования. Но библиотека предполагает статическую линковку, так что её интеграция в любую систему сборки будет тривиальной.

Интересные части библиотеки:

  • absl::Mutex — примитив синхронизации, который одновременно может служить мьютексом, condition variable и read-write-блокировкой. Данный класс был разработан до появления C++11, но не был заменён std::mutex и его аналогами, так как предоставляет менее ошибкопорождающий интерфейс.
  • Бекпорты некоторых возможностей C++14/C++17 для компиляторов, поддерживающих только C++11: absl::make_unique, absl::optional, absl::any, absl::span, absl::string_view. При этом при сборке новым компилятором большинство absl:: типов будут обычным typedef для библиотечных.
  • «Стандартный» набор функций работы со строками: split, join, replace, объединение строк, перевод чисел в строки и обратно.
  • Функции и классы для работы с временем и промежутками времени (по сути дублирующие аналоги из std::chrono); 128-битный целочисленный тип данных; InlinedVector, позволяющий хранить маленькие массивы без выделения памяти; и прочее.

В данный момент список не очень большой, но библиотека постоянно будет дополняться.

>>> Подробности на opennet (opennet.ru)

vzzo
()

C++ Siberia 2017

 , ,

Группа Конференции и встречи

В Томском государственном университете 24–26 августа пройдёт конференция «C++ Siberia 2017».

Описания докладов и расписание есть на официальном сайте. После проведения конференции там появятся слайды и видео выступлений.

Стоимость билетов:

  • на основную программу — 2500 ₽;
  • на мастер-класс — 3000 ₽.

>>> Подробности (cppconf.ru)

sermp
()

Eclipse IDE 4.7 (Oxygen)

 , ,

Группа Java

Состоялся релиз Eclipse IDE 4.7 (Oxygen Edition). Изменения коснулись более 80 проектов, входящих в Eclipse Foundation.

( читать дальше... )

>>> Подробности (eclipse.org)

Yilativs
()

Игровой движок FIFE 0.4.1

 , fife, ,

Группа Разработка

Вышел FIFE 0.4.1. FIFE (Flexible Isometric Free Engine, гибкий изометрический свободный движок) — это свободный и кроссплатформенный 2D игровой движок, включающий в себя такие возможности, как средства для построения графического интерфейса игры, поддержку аудио, работу с освещением, редактор карт, построение пути (pathfinding), виртуальную файловую систему. С помощью FIFE возможна разработка игр на Python или C++. Именно на этом движке была создана популярная свободная стратегическая игра Unknown Horizons.

В новой версии были добавлены такие возможности, как менеджер анимаций, возможность обрабатывать движения колёсиком мыши вправо-влево (а также клавиш F*), расширение возможностей использования XML-структур и другие функции. Также было исправлено несколько ошибок — например, ошибка, при которой при сохранении карты с помощью MapSaver была невозможна перезапись файла.

>>> Подробности (github.com)

the_electric_hand
()

Конференция C++ Russia 2017, Москва

 , ,

Группа Конференции и встречи

Алоха!

24–25 февраля 2017 в Москве пройдет крупнейшая в России C++ конференция.

Темы: Core Guidelines, GSL, boost, Qt, функциональщина, сопрограммы, C++17, многопоточность, специфика различных компиляторов, изменение кода большого проекта и много другой боли.

В этом году перед конференцией пройдет день мастер-классов: Ivan Cukic «Applied functional programming in C++», Rainer Grimm «Embedded programming with modern C++» и Павел Филонов «Continuous integration для C++ разработчика».

>>> Подробности и регистрация на сайте (cpp-russia.ru)

sermp
()

Бесплатная лицензия PVS-Studio для открытых проектов

 , , , ,

Группа Проприетарное ПО

Разработчики PVS-Studio хотели бы помочь миру программного обеспечения лучше познакомиться с инструментами статического анализа кода и повысить его качество. Теперь PVS-Studio предоставляется бесплатного студентам в учебных целях, индивидуальным разработчикам и коллективам энтузиастов.

( Подробнее )

>>> Подробная статья на Хабре (habrahabr.ru)

Andrey_Karpov_2009
()

Иван Чукич в Нижнем Новгороде 03 декабря 2016

 , , ,

Группа Конференции и встречи

Иван Чукич (Ivan Čukić) — один из ведущих разработчиков KDE, энтузиаст Open Source и функционального программирования из Белграда — сделает доклад на встрече программистов C++. Встреча проходит при поддержке Яндекса и Высшей Школы Экономики.

Программа встречи:

  • 11:00—11:30: регистрация;
  • 11:30—12:30: Ivan Čukić «QtFuture»;
  • 12:30—13:30: Илья Удалов «Gradle для кроссплатформенной С++ разработки»;
  • 13:30—14:00: перерыв;
  • 14:00—15:00: Максим Хижинский «Lock-free map и thread-safe итераторы в них».

Место проведения: Высшая школа экономики, ул. Б. Печерская 25/12.

>>> Подробности (cpp-russia.ru)

Aceler
()

C++ встреча в Екатеринбурге 25 ноября 2016

 , ,

Группа Конференции и встречи

Программа:

  • 18:00: сбор и регистрация;
  • 18:30: Павел Беликов «Опыт миграции крупного проекта с Windows-only на Linux»;
  • 19:20: Евгений Крутько «Многопоточные вычисления, современный подход»;
  • 20:20: Тененёв Анатолий «Boost.Asio в алгоритмической торговле».

Место проведения: Екатеринбург, ул. 8 марта, 8д Freelance cafe.

>>> Подробности (cpp-russia.ru)

anonymous
()

PVS-Studio для Linux

 , , ,

Группа Проприетарное ПО

Появилась версия анализатора PVS-Studio, работающая в GNU/Linux. До этого программа работала только в Windows.

PVS-Studio — это инструмент для выявления ошибок в исходном коде программ, написанных на С и C++. В случае интеграции с Visual Studio также возможна проверка проектов на C#.

PVS-Studio выполняет широкий спектр проверок кода, но наиболее удачно справляется с поиском опечаток и последствий неудачного Copy-Paste. Показательные примеры таких ошибок: V501, V517, V522, V523, V3001.

( читать дальше... )

>>> Подробности (viva64.com)

Andrey_Karpov_2009
()

PVS-Studio под Linux, тренируемся на Inkscape

 , , , ,

Группа Open Source

Как я уже писал, мы потихоньку продолжаем заниматься созданием PVS-Studio for Linux. Потихоньку от того, что половина С++ сотрудников в летних отпусках. А так мы по-прежнему полны энтузиазма.

При разработке нам естественно надо на чем-то испытывать анализатор. Для этого берутся различные проекты, и иногда попутно, вот как сейчас, пишутся статьи. На этот раз жертвой стал графический редактор Inkscape. Если честно, я его даже никогда не видел (сам использую Gimp), но он не раз упоминался на Linux.org.ru, а значит местному сообществу будет интересно взглянуть на найденные в нем ошибки.

( читать дальше... )

>>> Подробности (habrahabr.ru)

Andrey_Karpov_2009
()

Вы поможете, если заранее запишетесь в добровольцы для тестирования beta-версии PVS-Studio for Linux

 , ,

Группа Проприетарное ПО

Я и мои коллеги очень долго отказывались обсуждать тему разработки PVS-Studio для операционной системы Linux и UNIX мира в целом. Дело не в каких-то личных пристрастиях или технических сложностях. Всё проще — это холодный, прагматический подход к развитию продукта.

Мы — маленькая компания, которая существует исключительно за счёт продажи программного продукта PVS-Studio. Мы не получаем гранты или какую-то иную поддержку от государства или больших компаний — всё это накладывает большую ответственность за выбор направления развития.

Сейчас мы накопили новых сил, собрались с духом и начинаем новую для нас тему освоения Linux. Да, да, это свершилось. Подробности можно узнать из статьи на Хабре: "PVS-Studio признаётся в любви к Linux". А заодно обсудить, является ли Linux операционной системой.

И самое важное

Мы с нетерпением ожидаем, когда можно будет что-то представить миру. Надеюсь, я вас заинтересовал, и многим Linux-разработчикам хочется попробовать проверить свои проекты. Если у вас есть желание и время, приглашаю вас заранее вступить в группу beta-тестеров.

Итак, если вы хотите помочь нам проверить работу PVS-Studio для Linux прошу написать нам. Чтобы письма можно было проще обрабатывать, просим указать в теме письма строчку «PVS-Studio for Linux, Beta». Письма отправляйте по адресу support@viva64.com.

Просим писать письма с корпоративных ящиков и кратко представиться. Мы будем благодарны всем, кто откликнется, но в первую очередь будем уделять внимание тем людям, которые потенциально со временем могут стать нашими клиентами.

Также прошу в письме дать ответы на следующие вопросы:

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

Когда появится версия, которую можно будет попробовать, мы напишем всем откликнувшимся письма.

Заранее всем спасибо. Мы будем временами упоминать в статьях, как продвигается развитие PVS-Studio для Linux.

>>> Полная статья на Хабре (habrahabr.ru)

Andrey_Karpov_2009
()

Конференция C++ Siberia 2016, Новосибирск

 , ,

Группа Конференции и встречи

26–27 августа 2016 в Новосибирск пройдет очередная конференция, посвященная исключительно C++.

Открывать конференцию будет Антон Полухин: автор книги «Boost C++ Application Development Cookbook», активный контрибьютор Boost, автор библиотеки Boost.TypeIndex, мейнтейнер Boost.Any, Boost.LexicalCast, член национальной рабочей группы комитета по стандартизации C++. Также выступят Алексей Кутумов, Александр Гранин, Борис Сазонов, Антон Бикинеев и другие докладчики. Обсудим скорый релиз C++17 и как теперь жить, немного функциональщины в C++, вывод типов и другие интересные темы.

Ознакомиться с программой и приобрести билеты можно на сайте конференции.

До встречи!

>>> Подробности и регистрация (meetingcpp.ru)

sermp
()

Написал небольшую книгу для C/C++ программистов

 , , , ,

Группа Документация

Здравствуйте. Меня зовут Андрей Карпов. Сфера моих интересов - язык C/C++ и продвижение методологии статического анализа кода. На протяжении пяти лет я являюсь Microsoft MVP в номинации Visual C++. Основная цель моих статей и работы, сделать код программ немножко безопасней и качественней. Буду рад, если эта мини-книга научит вас писать более надежный код и предостережет от некоторых типовых ошибок. Немало полезного здесь можно будет почерпнуть и тем, кто занимается написанием стандартов кодирования для своих компаний.

Немного истории. Не так давно я создал ресурс, на котором делился различными полезными советами по программированию на языке С++. Ресурс не собрал ожидаемое количество подписчиков, поэтому я не вижу смысла приводить здесь на него ссылку. Сайт просуществует какое-то время, после чего уйдет в небытие. А вот советы достойны сохранения. Поэтому я доработал, пополнил эти советы и объединил их в единый текст. Желаю приятного чтения.

UPD: PDF-версия: https://yadi.sk/i/RCHauHFBr2cSs

P.S. Пользуясь случаем приглашаю всех желающих последовать за мной в Twitter: @Code_Analysis.

>>> Главный вопрос программирования, рефакторинга и всего такого (viva64.com)

Andrey_Karpov_2009
()

Оцениваем качество кода пакета стоимостью 10000$

 , , , ,

Группа Проприетарное ПО

Часто можно встретить дискуссии на тему, какой код качественней, закрытый или открытый. Лично мое мнение - разницы нет. Я видел много кода, как открытого, так и закрытого. И там и там, я встречал и хороший и плохой код.

Но вот статьи мы, по понятным причинам, пишем в основном про открытые проекты. Сейчас появилась очередная редкая возможность написать про код закрытого проекта. Вернее, закрытого до недавнего времени.

Итак, предлагаю вашему вниманию статью: Плохой код пакета для создания 2D-анимаций Toonz.

OpenToonz - это программное обеспечение для создания 2D анимации. Основой является проект «Toonz», который разработала итальянская компания Digital Video. Адаптировав эту программу, Studio Ghibli успешно использует ее уже много лет. Кроме мультипликационных картин проект также был задействован и в компьютерных играх — Discworld 2 и Claw.

Стоит отметить, что цена пакета до настоящего момента составляла $10000.

С помощью рассматриваемого кода, создавали «Ходячий замок Хоула», «Унесенных призраками», «Рыбку Поньо», а также множество других картин. В их числе так же мультфильм «Футурама»!

>>> Подробности (viva64.com)

Andrey_Karpov_2009
()

Выход Qt 5.6

 ,

Группа Open Source

Для нового Qt 5.6 разработчики обещают долговременную поддержку (LTS). Предыдущим LTS релизом был Qt 4.8.

Список изменений:

  • Полностью переписана поддержка hi-dpi экранов.
  • Теперь, приложения Qt, основанные на плотности пикселов позволяют автоматически подстраивать размеры шрифтов, пиктограмм, элементы окон и графику.
  • Webkit и Qt Quick 1 удалены.
  • Новая система CI, получившая название «Coin for COntinuos INtegration»
  • Уменьшение затрат памяти на использование динамических свойств
  • Возможность лога непосредственно в syslog на Линуксе
  • Новый класс QVersionNumber
  • Множество оптимизаций в производительности QString
  • Добавлен метод QHostAddress::isMulticast()
  • Улучшена кроссплатформенная поддержка OpenGL ES 3.0 and 3.1
  • Возможность внутреннего рендеринга 16 бит на канал
  • Qt WebEngine теперь основан на Chromium 45 и поддерживает плагины pepper, включая Flash
  • В Qt Nfc добавлена поддержка Android

>>> Подробности

>>> Changelog (qt.io)

anonymous
()

Команда PVS-Studio: Свежий взгляд на код Oracle VM VirtualBox

 , , ,

Группа Проприетарное ПО

Использовать свои любимые дистрибутивы Linux в VirtualBox со временем становится затруднительно. В этом на своём опыте убедился Святослав Размыслов из команды PVS-Studio, который опубликовал статью о проверке Oracle VM VirtualBox. По его мнению, с VirtualBox 5.0.XX, стабильность работы программы заметно ухудшилась.

Но вернемся к сути статьи. Мы уже встречались на сайте с работой Святослава и активно её обсуждали. Думаю, есть повод для новой дискуссии о качестве открытых проектов.

Напомню, что разработчики PVS-Studio славятся тем, что в целях рекламы своего продукта регулярно проверяют различные открытые проекты.

Это не первая статья о проверке исходного кода виртуальной машины. Почти два года назад в коде VirtualBox было найдено более 50 ошибок и их описание было опубликовано двумя статьями (1 (viva64.com), 2 (viva64.com)). К счастью, все те предупреждения анализатора разработчики исправили, но качество исходного кода постоянно ухудшается. О чём говорит снижение стабильности последних версий программы и несколько десятков новых ошибок, найденных с помощью PVS-Studio.

Пара слов для программистов, ещё не знакомых с анализатором. Это инструмент для выявления ошибок в исходном коде программ, написанных на языках С, C++ и C#. PVS-Studio выполняет статический анализ кода и генерирует отчёт, помогающий программисту находить и устранять ошибки.

>>> Подробности (viva64.com)

Andrey_Karpov_2009
()

Конференция C++ Russia 2016, Санкт-Петербург

 , ,

Группа Конференции и встречи

26–27 февраля 2016 в Санкт-Петербурге пройдет крупнейшая в России конференция, посвященная исключительно C++.

Доклады на самые разные темы: от хардкорных корутин до энтерпрайзного мокирования, от создания краш-репортов до реактивного программирования. Кроме того: boost, стандартизация параллельного программирования в C++ и многое другое.

Открывать конференцию в этом году будет Гор Нишанов, ведущий программист C++ команды Microsoft. Также выступят Hartmut Kaiser — контрибьютор boost, руководитель разработки библиотеки HPX в университете Луизианны, Kirk Shoop — сотрудник Microsoft, автор библиотеки Rx.cpp, Joel Falcou — разработчик Boost.SIMD, Dori Exterman — CTO в IncrediBuild. Будут гости из Белоруссии — представители минского сообщества CoreHard.

>>> Подробности и регистрация на сайте (meetingcpp.ru)

sermp
()