LINUX.ORG.RU

C++


356

18

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

Ориентированная на LLVM стандартная библиотека C++ теперь во FreeBSD

 , ,

Группа BSD

Как уже упоминалось в новостях, FreeBSD 10 отказывается от GCC в пользу CLANG.

Следующим шагом в замене компилятора по умолчанию и планомерного избавления от GPL-кода в базовой системе стала замена стандартной библиотеки C++ на libc++ — совместимой со стандартами C++0x/C++11 библиотеки из проекта CLANG. Библиотека распространяется под двойной лицензией MIT и UIUC.

На данный момент код доступен в ветке 9-STABLE и эти изменения будут доступны в следующем релизе FreeBSD 9.1.

Сообщение о состоявшейся замене библиотеки в списке рассылки freebsd-stable

>>> Новость на www.phoronix.com (phoronix.com)

sergv
()

Вышел GCC Explorer

 , ,

Группа GNU's Not Unix

GCC Explorer — это новый интерактивный компилятор, созданный на базе GCC Мэттом Годбольтом (Matt Godbolt). Он довольно прост в использовании и поддерживает популярные языки программирования C и C++. GCC Explorer основан на технологиях AJAX, следовательно любое изменение исходного кода и/или флагов сразу же запустит обновление окна с результатами компиляции.

Этот компилятор существует в виде web-приложения реального времени, в котором можно написать/выполнить любой фрагмент кода. Используя GCC Explorer можно практически мгновенно оценить результаты своей работы, а также окинуть взглядом присутствующие ошибки и недочеты в коде, и затем — быстро исправить их, смеясь в лицо «задумчивости» обычных компиляторов.

>>> Исходники на GitHub

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

PrikPavel
()

Релиз qutIM 0.3

 , , ,

Группа Open Source

Сегодня состоялся релиз qutIM 0.3 — кроссплатформенного мультипротокольного мессенджера.
С момента выхода Beta-релиза прошёл год, за который было сделано огромное количество улучшений.

  • Переработан плагин Adium-тем, поддержка идентична поддержке в Adium.
  • Добавлены плагины highlighter, updater.
  • Восстановлена работоспособность антиспама и плагина прогноза погоды.
  • Исправлены ошибки с реконнектом.
  • Огромное количество багфиксов.
  • Начата работа над версией для MeeGo Harmattan.
  • Улучшена интеграция в различные рабочие окружения (Windows, Unity, KDE, Mac OS X, Maemo, MeeGo, Haiku).

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

Nico-izo
()

KDevelop 4.3

 , , , , , ,

Группа KDE

Cостоялся выход версии 4.3 интегрированной среды разработки KDevelop. Как обычно, в релиз вошел ряд новых возможностей, а также исправления ошибок и улучшения производительности.

Неполный список изменений:

  • Поддержка С++11.
    Новая версия стандарта теперь частично поддерживается в KDevelop. Парсер теперь поддерживает такие новые возможности языка, как списки инициализации, лямбды, for-циклы по коллекции и шаблоны с переменным числом аргументов. Также поддерживаются =default и =delete методы, auto, ссылки на временные объекты (rvalue-references) и много другого. Тем не менее, С++11 включает много изменений и некоторые из них еще не поддерживаются. Разработчики ставят за цель улучшить поддержку в последующих релизах, чтобы сделать KDevelop отличной средой для разработки с использованием C++11.
  • Восстановление состояния редактора.
    С выходом версии 4.3 разработчики синхронизировались с Kate по функционалу работы с файлами: свернутые блоки кода, закладки и прочее теперь корректно восстанавливаются для последних 20 открытых файлов.
  • Улучшенная интеграция с системами контроля версий.
    Была добавлена область просмотра изменений в проекте, которая показывает файлы в проекте, измененные с момента последнего коммита. Также улучшен режим Review, который теперь автоматически обновляется по мере внесения изменений в код проекта.
  • Интеграция с проектами KDE
    Инфраструктура проектов KDE была адаптирована для поддержки projects.kde.org. Это позволило иметь полный список всех проектов KDE с возможностью их загрузки для быстрого начала старта работы над ними.
  • Улучшения интеграция konsole
    Встроенный konsole в KDevelop получил ряд улучшений — теперь при использовании bash стало возможно управлять сессией KDevelop, т.е. открывать и создавать файлы, выполнять поиск по файлам и пр. Просто введите help!, чтобы узнать, что теперь можно делать.
  • Форматирование кода
    Встроенное форматирование также было улучшено — теперь оно может переопределять настройки выравнивания редактора. Более того, «Custom Script Formatter», ранее поддерживавший Gnu Indent, был расширен с упрощением добавления собственных скриптов форматирования. Одним из примеров является kdev_format_source.sh, поставляемый с KDevelop, позволяющий задавать правила форматирования путем размещения файлов format_sources в дереве проекта. В связке с мощным форматировщиком uncrustify, скрипт позволяет легко работать в больших гетерогенных проектах.
  • Исправления ошибок
    Было исправлено более 170 ошибок по сравнению с KDevelop 4.2.3. Среди прочих, теперь нормально поддерживается SVN 1.7, улучшен разбор C++, улучшено взаимодействие с GDB. Также исправлено много падений и прочих проблем.
  • Оптимизации
    Кроме добавления новых возможностей и улучшения стабильности, этот релиз иммет ряд заслуживающих внимания оптимизаций — открытие больших проектов теперь должно происходить значительно быстрее. Также быстрее стал инструмент Quickopen, что делает более комфортной работу в больших проектах.

У проекта появился форум, на котором можно получить поддержку и ответы на вопросы. Также доступны список рассылки, а также канал IRC #kdevelop на freenode.

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

Pavval
()

Вышел DRAKON Editor 1.9 с поддержкой Java и С#

 , , , , , ,

Группа Open Source

Вышел DRAKON Editor 1.9, свободный кросс-платформенный редактор диаграмм визуального языка ДРАКОН.
Язык ДРАКОН обеспечивает наглядное и простое для понимания представление алгоритмов. Области применения:

  • составление спецификаций для ПО и технических заданий;
  • документация ПО;
  • собственно программирование.

В этой версии:

  • Генерация кода на языках Java и C#.
  • Новый генератор кода для скриптовых языков.
  • Вставка изображений горячими клавишами.
  • Список ранее открытых файлов.
  • Возможность менять шрифты.

Перечень языков программирования, поддерживаемых в версии 1.9:

  • Java
  • C#
  • простой C и C++
  • Python
  • Tcl

Интерфейс редактирования в DRAKON Editor оптимизирован для диаграмм языка ДРАКОН.
Поддерживаемые ОС: Linux, Mac OS, Windows.

>>> Сайт проекта (sourceforge.net)

rykkin
()

KDevelop 4.3 Beta1

 , , , ,

Группа KDE

14 января состоялся выход первой бета версии интегрированной среды разработки KDevelop.

Основные приоритет разработки ветки 4.3 это стабильность и внедрение нескольких ключевых новых возможностей.
Среди основных нововведений стоит выделить следующее:

  • использование кеша CMake проектов;
  • значительное улучшение взаимодействия с GDB;
  • реализация поддержки свежего стандарта С++11(с++0x) в редакторе;
  • зависимость от KDE Workspace опциональна.

Полный changelog.

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

Jetty
()

Вышел DRAKON Editor 1.5 с генерацией кода

 , , , ,

Группа Open Source

Вышел DRAKON Editor 1.5, свободный кросс-платформенный редактор диаграмм визуального языка ДРАКОН.
Поддерживаемые ОС: Linux, Mac OS, Windows.
В этой версии:
- Генерация кода на C, C++, Python, Tcl.
- Процесс редактирования сделан более удобным: при перемещении линий теперь перемещаются все связанные с ними объекты.
- Множество улучшений пользовательского интерфейса (переход к диаграмме по имени, Find all references, Go to definition и пр.)

>>> Сайт проекта (sourceforge.net)

rykkin
()

Опубликован стандарт C++11 (бывший C++0x)

 , ,

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

ISO объявила о публикации стандарта C++11. Это первое значительное изменение стандарта с 1998-го года. Вот несколько новых объявленных возможностей:

  • ссылки на временные объекты и семантика переноса (rvalue reference);
  • обобщённые константные выражения (ключевое слово constexpr);
  • внешние шаблоны — возможность запретить компилятору инстанцировать шаблон в единице трансляции (extern template class);
  • ключевое слово auto для задания типа переменной на этапе компиляции;
  • цикл for по коллекции данных;
  • lambda-функции;
  • введена отдельная константа нулевого указателя nullptr;
  • шаблоны с переменным числом параметров (variadic templates);
  • thread-local хранилище, модель памяти с поддержкой потоков;
  • изменения в стандартной библиотеке: включение hash tables, регулярных выражений, smart pointers, элементов синхронизации потоков и т.п.

Полный список новых возможностей с подробным объяснением каждой из них можно посмотреть на http://en.wikipedia.org/wiki/C++11 или же более сжато на русском: http://ru.wikipedia.org/wiki/C++11

Полная поддержка C++11 обещается в GCC 4.7, объем поддержки на текущий момент можно оценить по таблице http://gcc.gnu.org/onlinedocs/libstdc++/manual/status.html#status.iso.200x

ISO продает текст стандарта по 352 швейцарских франка ($386), но можно бесплатно скачать, например, его финальный черновик (практически не отличающийся от конечной версии) с сайта рабочей группы: http://www.open-std.org/jtc1/sc22/wg21/

>>> Пресс-релиз (iso.org)

vden
()

Transcribe! 8.20

 , , , ,

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

Transcribe! — программа для переложения аудиотреков на ноты, другими словами с её помощью, посредством пользовательского интерфейса, можно визуально определить ноты определённой музыкальной композиции.

Широко применяется для снятия сольных партий аудиокомпозиций, сольных занятий под фонограмму с замедленным темпом, передачи транскрипции речи и т.п.

Основной инструмент — спектральный анализатор, позволяющий определить в выбранном участке записи частоты входящих в него звуков, и в один поток сопоставить их с частотами тонов обнаруженного музыкального порядка с помощью графического интерфейса (клавиатура пианино). Для более точного детектирования реализована функция замедления воспроизведения без изменения тональности. Таким образом, избирая сэмплы можно выборочно анализировать аудиотрек и шаг за шагом получать соответствующие ему ноты.

Особенности:

  • зацикливание фрагментов и замедление без изменения тональности;
  • лёгкая навигация по треку и управление;
  • возможность использования педалей для управления воспроизведением;
  • возможность записи с аналоговых источников (аудиокассеты, грампластинки);
  • индикация синхронизации видео с аудио;
  • поддержка сценариев;
  • различные звуковые эффекты обработки (замедление, изменение высоты звука, эквалайзер и т.п.) в режиме реального времени;
  • поддержка многих входных форматов (OGG, MP3, WAV, AIFF, PCM и др.);
  • запись конечного результата в файл;
  • множество комбинаций горячих клавиш.

Системные требования:

  • GTK+ 2.18;
  • GStreamer 0.10.28;
  • ALSA 1.0.6 или новее.

Доступны как 32-битные, так и 64-битные версии.

Стоимость — от $15 до $39 (в зависимости от количества копий лицензии).

Скриншоты

Аудиопримеры обработанных сэмплов и видеоруководства — 1 (seventhstring.com), 2 (seventhstring.com), 3 (strumpatterns.com), 4 (youtube.com), 5 (youtube.com), 6 (youtube.com), 7 (youtube.com), 8 (youtube.com)

Страница загрузки (бесплатный 30-тидневный пробный период)

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

amorpher
()

Релиз Qt Creator 2.3

 , , , ,

Группа Open Source

Состоялся релиз Qt Creator 2.3, кроссплатформенной интегрированной среды разработки на С++.

Наиболее важные изменения:

  • на приветственной странице добавлены руководства и примеры;
  • многочисленные улучшения в определении оформления кода на С++, которые можно применить как глобально, так и в рамках одного проекта (подробнее);
  • профайлер обзавёлся собственным режимом анализа проекта, а также поддержкой приложений QML и внешнего профайлераValgrind Callgrind;
  • добавлена поддержка «базовых устройств на Linux», для этого необходимо настроить подключение к устройству «Linux Device», а также добавить в проект соответствующие правила сборки и развертывания;
  • отладчик и профайлер для приложений Qt Quick поддерживает приложения для устройств на Symbian и Meego 1.2 с установленной Qt 4.7.4;
  • многочисленные улучшения в поддержке Qt Quick.

Полный список изменений

Загрузить

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

ins3y3d
()

Shogun 1.0.0

 , , , , , , , shogun,

Группа Open Source

Shogun — программный пакет, предназначенный для машинного обучения, с поддержкой большого набора алгоритмов и структур данных.

В Shogun акцентируется внимание на широком использовании различных методов и инструментов для решения задач распознавания образов, таких как: метод опорных векторов (SVM), пошаговый дискриминантный анализ, регрессионный анализ, перцептроны, алгоритмы обучения скрытых моделей Маркова и других. Большинство инструментов основывается на методе опорных векторов. Также возможно использование комбинированных методов.
Shogun написан на C++ и предоставляет интерфейсы для MATLAB, Octave, Python и R.

Данный релиз содержит значительные улучшения:

  • поддержка новых ЯП (Java, C #, Ruby, Lua) в модульных интерфейсах;
  • добавлены новые алгоритмы обучения (LLE (wikipedia.org), HLLE, LTSA и другие);
  • поддержка MATLAB 2011a;
  • исправление ошибок, чистка кода, изменения в API и многое другое.

В рамках Google Summer of Code 2011 над проектом работало пять студентов, часть их работы вошла в представленный релиз.

Пример распознавания цифр (Shockwave Flash)

Исходный код

>>> Подробности (shogun-toolbox.org)

amorpher
()

Intel открыл исходные тексты проекта Intel Cilk Plus

 , ,

Группа Open Source

Компания Intel открыла исходные тексты проекта Cilk Plus, расширения С и С++, серьезно упрощающего разработку многопоточных приложений или использование параллельных вычислений. Сообщается, что при использовании данного инструмента скомпилированные приложения имеют большую производительность в многоядерных системах, чем приложения, оптимизированные другими способами.

Расширение Cilk Plus добавляет в язык С/С++ три ключевых слова - _Cilk_spawn, _Cilk_sync и _Cilk_for, - а также выражения для объявления массивов, указания компилятору, а также некоторые другие единицы языка. Кроме того, многие нововведения заметно упрощают и делают более понятным для разработчика процесс отладки многопоточной программы.

Уже существует ветка компилятора GCC 4.7 со встроенным Intel Cilk Plus, а также официальная библиотека времени исполнения.

Расширение основано на совместных научных разработках Intel и MIT, проводившихся около 20 лет назад. Открытая реализация технологии может быть легко добавлена в уже написанные приложения, в результате чего получается масштабируемая система, способная работать с высокой производительностью многопоточно на сотнях ядер.

Спецификация

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

ins3y3d
()

Google открывает LevelDB

 , ,

Группа Open Source

LevelDB - быстрое хранилище данных, обеспечивающее упорядоченное отображение текстовых ключей на текстовые значения.

Новинка представляет из себя библиотеку для языка C++, которой можно найти множество применений. Например, она может быть использована веб-браузером для хранения кеша недавно открытых страниц, пакетным менеджером для хранения списка установленных пакетов и их зависимостей, приложениями для хранения настроек и так далее.

LevelDB реализована с минимумом зависимостей и поэтому уже доступна на большинстве платформ. Библиотека распространяется под лицензией в стиле BSD (opensource.org).

Сравнение производительности с SQLite и Kyoto Cabinet

Домашняя страница проекта

>>> Подробности (google-opensource.blogspot.com)

yoghurt
()

ROOT 5.30/00

 , , chirp, , , , , tmva

Группа Open Source

28 июня 2011 года разработчики из Европейского центра ядерных исследований (CERN) представили очередной стабильный выпуск 5.30/00 набора объектно-ориентированных библиотек для обработки, анализа и визуализации данных - ROOT.

Это первая стабильная версия после нововведения в схеме подготовки релизов ROOT: 31 марта 2011 года разработчики приняли решение о выпуске релиз-кандидатов в основной ветке при подготовке стабильной версии.
Таким образом, выпуску ROOT 5.30/00 предшествовали два релиз-кандидата 5.30/00-rc1 и 5.30/00-rc2 1-го и 15-го июня соответственно.

Также отныне ознакомиться с планами по выходу следующей стабильной версии ROOT можно в Google Calendar.

ROOT распространяется под лицензией LGPL v2.1 за исключением библиотеки MathMore, которая в связи с использованием кода GSL (gnu.org) лицензирована под GPL (gnu.org), как и собственно GSL.

Со списком изменений по сравнению с вышедшей в начале января 2011 года версией 5.28/00 можно ознакомиться в анонсе к выпуску.
Среди изменений стоит отметить следующее:

  • в TString реализована потокобезопасная техника SSO (Short String Optimization)
  • в TSystem исправлено бесконечное зацикливание при отсутствии необходимых библиотек
  • новый стиль «Modern» в TStyle, также добавлена возможность задать стиль по умолчанию
  • реализована возможность сборки с CMake 2.8
  • библиотеки getline/editline заменены кроссплатформенной TextInput
  • добавлена поддержка файловой системы Chirp
  • новые классы для предварительной выборки данных
  • повышена производительность работы с деревьями TTree
  • новый функционал и улучшения в TProof, также новый бенчмарк для центрального процессора и операций ввода/вывода
  • исправления и дополнения в пакете для работы с гистограммами
  • новые функции, методы и реализации в математических библиотеках
  • включена новая версия TMVA (Toolkit for Multivariate Data Analysis with ROOT) 4.1.1
  • многочисленные исправления и изменения в библиотеках графического интерфейса

>>> Страница загрузки

>>> Архив с исходным кодом

>>> Официальный сайт (cern.ch)

adriano32
()

Вышел TagLib 1.7

 , ,

Группа Мультимедиа

Доступна новая версия TagLib — популярной библиотеки для работы с метаданными аудиофайлов. Библиотека написана на C++, но существуют также привязки для C, Perl, Python, Ruby.

Основные изменения:

  • поддержка новых Monkey’s Audio;
  • возможность работы со встроенными изображениями в файлы WMA и FLAC;
  • отказ от autoconf/automake в пользу CMake;
  • переход на Git;
  • исправлено множество ошибок.

Полный список изменений

Исходный код

Страница на github

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

truetester
()

Импорт C++ кода в Python при помощи пакета SWIG

 ,

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

Довольно подробно описано взаимодействие различных модулей при импорте. Рассмотрены различные возможности по настройке импорта, обработка указателей и ссылок, массивов C++, генерация исключений, сериализация импортированных классов, импорт шаблонов. Приведен пример универсального Makefile для импорта.

>>> Подробности (a-iv.ru)

AIv
()

KDevelop 4.2

 , , , , ,

Группа KDE

Сегодня одновременно с KDE SC 4.6 был анонсирован выпуск версии 4.2 популярной среды разработки KDevelop и сопутствующих ему модулей KDevelop-php. Главным новшеством версии является поддержка интерфейса KTextEditor::MovingInterface из Kate, благодаря чему стало возможным использовать KDevelop в свежевышедшем KDE 4.6.

Среди изменений по сравнению с предыдущей версией стоит отметить:

  • улучшенный модуль QtHelp теперь позволяет подключать сторонние файлы справки .qch, благодаря чему стало возможным пользоваться документацией kdelibs или libstdc++ прямо в IDE;
  • добавлен новый модуль поддержки man-страниц документации;
  • поддержка поиска и замены в файлах (ранее возможность замены отсутствовала);
  • функция Problems теперь показывает TODO и FIXME в коде;
  • добавлена фильтрация в дереве проекта;
  • реализовано открытие файлов проекта во внешнем приложении (например, в QtDesigner для .ui файлов);
  • внесён ряд улучшений в поддержку С++ (разбор макросов), CMake (работа с файлами) и PHP (семантическая подсветка переменных);
  • исправлено много ошибок.

>>> Подробности (milianw.de)

Pavval
()

Андрей Александреску на конференции ACCU

 ,

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

Выступая на конференции ACCU Silicon Valley, Андрей Александреску в свободной манере рассказал о некоторых особенностях языка D, попутно сравнивая D и C++. Вкратце, Андрей рассказал о корректности, обобщенном программировании и перегрузке операторов в языке D.

В качестве заключения Александреску отмечает, что D является неплохим средством как для системного, так и для прикладного программирования.

>>> Слайды выступления (erdani.com)

ksv
()

KDevelop 4.1

 , , ,

Группа KDE

После полугода разработки вышел новый стабильный выпуск среды для разработки приложений KDevelop.

Помимо общего увеличения стабильности, данный релиз содержит такие новые возможности:

  • Поддержка git теперь «из коробки», в дополнение к уже существующим плагинам поддержки SVN и CVS. Более подробная информация по функциональности тут (proli.net).
  • Поддержка экспорта патчей различными методами, а именно по e-mail, через pastebin и ReviewBoard.
  • Поддержка внешних скриптов в дополнение к скриптам Kate позволяет легко выполнять команды из IDE, в том числе используя содержимое окна редактора кода как ввод или вывод для скриптов. Таким образом можно легко запускать утилиты форматирования кода и им подобные, а также делать другие полезные вещи.
  • Загрузка удаленных проектов прямо из IDE. Теперь для загрузки удаленного проекта из VCS можно воспользоваться мастером импорта, который самостоятельно выполнит SVN checkout или Git clone. Среди прочего, мастер поддерживает импорт проектов KDE SC, для чего нужно просто выбрать проект из предложенного списка.
  • Добавлен Hex-редактор с использованием компонентов Okteta.
  • Поддержка PHP 5.3.
  • Улучшенные средства управления проектами.
  • Улучшенная поддержка CMake.

KDevelop — многоязыковая IDE, написанная с использованием Qt/kdelibs. В данный момент имеет поддержку C/C++ и PHP, поддержка же плагинов других языков находится на стадии разработки. Основной системой сборки для проектов является CMake, хотя имеется поддержка любых систем сборки, основанных на makefile. Имеет удобный редактор кода на основе katepart с подсветкой синтаксиса, одним из лучших на сегодня автодополнений, сверткой блоков кода и другими полезными функциями. Поддерживается отладка с использованием GDB.

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

Pavval
()

EA открывается

 , , ,

Группа Open Source

Electronic Arts Inc, известный производитель и издатель игр, выложил в открытый доступ свои наработки.

Помимо модифицированного WebKit, который, судя по всему, использовался в таких продуктах компании, как Sims 3, Skate 3 и NFS World Online, опубликованы так же части EASTL - «библиотеки шаблонов для С++ от EA».

EASTL на Github

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

yoghurt
()