LINUX.ORG.RU

C++


366

17

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

Опубликован стандарт 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/

>>> Пресс-релиз

 , ,

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, 2, 3, 4, 5, 6, 7, 8

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

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

 , , , ,

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.

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

Загрузить

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

 , , , ,

ins3y3d
()

Shogun 1.0.0

Группа Open Source

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

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

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

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

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

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

Исходный код

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

 , , , , , , , shogun,

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 лет назад. Открытая реализация технологии может быть легко добавлена в уже написанные приложения, в результате чего получается масштабируемая система, способная работать с высокой производительностью многопоточно на сотнях ядер.

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

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

 , ,

ins3y3d
()

Google открывает LevelDB

Группа Open Source

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

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

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

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

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

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

 , ,

yoghurt
()

ROOT 5.30/00

Группа 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 лицензирована под GPL, как и собственно 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
  • многочисленные исправления и изменения в библиотеках графического интерфейса

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

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

>>> Официальный сайт

 , , chirp, , , , , tmva

adriano32
()

Вышел TagLib 1.7

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

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

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

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

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

Исходный код

Страница на github

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

 , ,

truetester
()

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

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

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

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

 ,

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 (семантическая подсветка переменных);
  • исправлено много ошибок.

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

 , , , , ,

Pavval
()

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

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

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

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

>>> Слайды выступления

 ,

ksv
()

KDevelop 4.1

Группа KDE

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

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

  • Поддержка git теперь «из коробки», в дополнение к уже существующим плагинам поддержки SVN и CVS. Более подробная информация по функциональности тут.
  • Поддержка экспорта патчей различными методами, а именно по 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.

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

 , , ,

Pavval
()

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

Группа Open Source

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

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

EASTL на Github

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

 , , ,

yoghurt
()

Вышла СУБД Firebird 2.5

Группа Linux General

Firebird — свободная кроссплатформенная система управления базами данных для GNU/Linux (других POSIX-совместимых ОС) и Microsoft Windows. Основана на исходном коде свободной версии Interbase 6.0 от Borland, выпущенной в 2000 году.

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

  • многопоточная обработка запросов, использующая преимущества симметричной многопроцессорной обработки (SMP), которая значительно повышает производительность на многопроцессорных и многоядерных системах;
  • встроенные библиотеки libfbembed.so (POSIX) и fbembed.dll (Windows) теперь поддерживают многопоточные и поточно-ориентированные вызовы.

Также добавлены новые возможности и улучшения:

  • система аудита и трассировки запросов через Services API, позволяющая отслеживать и анализировать изменения БД в режиме реального времени;
  • отслеживание пользователем своих соединений;
  • более подробная информация в таблицах мониторинга;
  • управление учётными записями с помощью SQL-выражения «CREATE/ALTER/DROP USER»;
  • дополнительное предоставление/аннулирование прав пользователю, отличного от текущего (по умолчанию);
  • встроенные функции для преобразования строк UUID CHAR (16) OCTETS в RFC4122-совместимый формат и наоборот;
  • результаты запросов, согласно стандарту SQL-2003 — возврат 5-символьного кода завершения операции (SQLSTATE);
  • и другие.

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

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

 , ,

amorpher
()

Практическое использование MySQL++: Часть 5. Работа с различными типами данных

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

В этом цикле статей рассматривается библиотека, обеспечивающая взаимодействие приложений, написанных на языке C++, с системой управления базами данных MySQL.

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

 , , ,

IBM_dW
()

Вышел Wt 3.1.4 и JWt 3.1.4

Группа Интернет

Wt — библиотека на C++ для разработки интерактивных web-приложений. API библиотеки очень схож с Qt, что позволяет использовать те же подходы, что и при написании приложений с использованием Qt, а также достаточно легко адаптировать обычные приложения к работе в сети. Библиотека поставляется с сервером приложений, который может функционировать как самостоятельный web-сервер или интегрироваться через FastCGI с другими серверами. Библиотека также доступна для языков Java (JWt) и Ruby (WtRuby)

Новое в выпуске:

  • WSortFilterProxyModel теперь полностью завершён, включая отслеживание изменений в нижележащей модели данных.
  • Добавлена новая модель WBatchEditProxyModel.
  • Поддержка ISAPI (только для С++ на win32) для развёртывания приложений на серверах Microsoft IIS.
  • Новые устройства отрисовки (paint device): WPdfImage и WRasterImage для отрисовки в PDF и PNG соответственно.
  • Улучшения в Wt::Dbo, увеличивающие гибкость работы с ключами.
  • Dbo::QueryModel, переводящий объекты БД в термины MVC-библиотеки, теперь поддерживает редактирование.

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

 , , ,

Ximen
()

Google дал оценку Java и C++

Группа Java

Один из ведущих инженеров Google — Роб Пайк (Rob Pike) — выступил на конференции O'Reilly Open Source Convention (OSCON) и выразил мнение корпорации о современных языках разработки и месте C++ и Java в них. Он отозвался об этих индустриальных китах очень негативно, назвав их многословными, чрезмерно сложными и неадекватными к применению в решении задач современной компьютерной инфраструктуры.
«Я думаю, что эти языки слишком сложны для использования, слишком трудны для понимания, слишком замысловаты. Они очень многословны, их сложность, громоздкость и непонятность возрастают со временем», — заявил Роб.

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

 , , ,

Karapuz
()

CodeLite 2.6.0

Группа Open Source

Увидело свет очередное обновление CodeLite под номером 2.6.0.4189.

CodeLite — полностью свободная, кроссплатформенная интегрированная среда разработки для C++, которая собирается и тестируется в Windows XP/Vista, Linux (доступны сборки для Ubuntu, Fedora, openSUSE) и Mac OS X. CodeLite распространяется под лицензией GPLv2 с исключением: дополнения, разрабатываемые для CodeLite, могут распространяться под любой лицензией.

Стоит отметить, что CodeLite разработана с использованием библиотеки wxWidgets и оптимизирована для разработки при помощи этой библиотеки.

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

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

Главная страница проекта CodeLite

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

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

 , ,

Genuine
()

Вышел Qt Creator 2.0

Группа Open Source

Вышел новый релиз Qt-ориентированной интегрированной среды разработки для языка С++.

Изменений очень много, основные:

  • Улучшена поддержка разработки под Symbian & Maemo
  • Поиск с заменой по нескольким файлам допускает регулярные выражения
  • Перенос файлов в редактор открывает их вместо вставки ссылки
  • Улучшен диалог настроек
  • Улучшены подсказки в коде на основе информации из .pro файлов проекта (например, макросы из списков DEFINES)
  • Поддержка VCS Mercurial
  • «Умный просмотр» в режиме отладки для новых классов: QUrl, QAtomicInt, __gnu_ext::hash_map и других
  • Поддержка gdb 7 и расширения на Питоне для улучшения вывода объектов в окне отладки( подробнее)
  • Поддержка выполнения во время отладки в обратном порядке где это возможно

Полноценная поддержка QML переносится на версию 2.1

Подробный список изменений

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

 , , , ,

theos
()

NetBeans 6.9

Группа Java

Сегодня, 15-го июня, в соответствии с расписанием состоялся выпуск NetBeans 6.9. По сравнению с предыдущей версией, добавлены следующие значительные новшества:

  • OSGi: включен контейнер Felix (есть возможность подключения Equinox); совместимость NetBeans-модулей и OSGi-bundles; поддержка OSGi-проектов для Maven;
  • Платформа NetBeans: генерация инсталляторов для большинства имеющихся платформ; редактор персонализации (branding);
  • JavaFX: включён JavaFX SDK 1.3; поддержка форм в Composer; улучшенные палитры для задания цветов/эффектов/форм; улучшения в рефакторинге и форматировании кода;
  • Java EE: поддержка JCDI (ex-WebBeans; JSR-299), Spring Framework 3.0; перегенерация JPA-сущностей после изменений схемы БД; поддержка REST-вебсервисов для platform-приложений; включены Apache Tomcat 6.0.26 и GlassFish v3 (GlassFish v2 исключен);
  • Java ME: поддержка Java Card™ 3 Connected;
  • Java: группировка точек останова в отладчике, улучшенная навигация по stack trace; поддержка annotation processor'ов в редакторе; улучшения в поддержке апплетов и WebStart-приложений;
  • Веб: автодополнение для id- и class-селекторов в CSS; рефакторинг CSS и HTML-подобных языков;
  • PHP: поддержка Zend Framework; обновленное автоформатирование кода с поддержкой множества правил;
  • Ruby: поддержка Ruby On Rails 3.0;
  • C/C++: улучшенная удаленная отладка/разработка; поддержка модульного тестирования (unit testing);
  • Прочее: проверка орфографии в редакторе; поддержка нескольких серверов типа Kenai.

NetBeansизвестная с 1997 года интегрированная среда разработки, изначально для Java, а впоследствии и для множества других языков (Scala, Groovy, C/C++, Python, PHP, Ruby, Scheme), а также платформа для создания desktop-приложений. Множество приложений, созданных на основе NetBeans Platform, включает в себя промышленные, научные, обучающие приложения, корпоративные информационные системы и приложения в области компьютерного искусства. Выпуск NetBeans 6.9 знаменателен тем, что это первый релиз, состоявшийся под эгидой Oracle. Вопреки пессимистичным прогнозам, NetBeans продолжает выходить четко по расписанию; потерь в динамике развития NetBeans также не наблюдается.

Сообщение о выпуске.

Заметки к выпуску.

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

>>> Сайт NetBeans

 , , , , , , , ,

Kuka
()