LINUX.ORG.RU

C++


362

17

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

GCC переходит на С++ компиляцию самого себя с целью улучшения качества кода

Группа Open Source

Для начала изменен только bootstrap код. Цель — улучшение качества кода (поскольку С++ жестче работает с типами). Когда там появятся классы и темплейты?.. Официально заявленные причины использовать С++:

  • C++ — стандартизованный, популярный язык.
  • C++ — практически надмножество C90, используемого внутри GCC.
  • Совместимый с С C++ код так же эффективен, как просто код C.
  • C++ поддерживает более чистый код во многих важных ситуациях.
  • C++ позволяет легче создавать и поддерживать четкие интерфейсы.
  • C++ никогда не требует более кривого кода.
  • C++ не панацея, но улучшение.

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

 ,

svu
()

libc++ теперь есть и в Debian Experimental

Группа Debian

Как результат работы, проделанной Andrej Belym в рамках Google Summer of Code, в Debian Experimental теперь есть новая реализация стандартной библиотеки C++ (libc++), разрабатываемая под эгидой llvm и лицензией MIT/UIUC. В виде deb-пакетов теперь предлагаются как разделяемые библиотеки времени выполнения (libc++abi1), так и определенные в стандарте заголовочные файлы (libc++-dev).

Библиотека libc++ доступна для использования как через clang, так и (с более длинной командной строкой) через g++.

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

 , ,

AEP
()

Blitz++ 0.10

Группа Open Source

После почти 7 лет разработки вышла новая версия векторной математической библиотеки blitz — 0.10.

Новая версия представляет собой текущий срез репозитория blitz. Кроме исправления ошибок, разработчики трудились над повышением быстродействия, совместимостью с 64-х разрядными системами, потокобезопасностью, увеличением использования SIMD-инструкций путём выравнивания данных. К сожалению, многие из этих улучшений не задокументированы, поэтому вскоре ожидается версия 0.10.1, которая исправит этот недостаток.

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

 blitz, , ,

dinn
()

Ориентированная на 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

 , ,

sergv
()

Вышел GCC Explorer

Группа GNU's Not Unix

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

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

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

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

 , ,

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).

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

 , , ,

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.

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

 , , , , , ,

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.

>>> Сайт проекта

 , , , , , ,

rykkin
()

KDevelop 4.3 Beta1

Группа KDE

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

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

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

Полный changelog.

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

 , , , ,

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 и пр.)

>>> Сайт проекта

 , , , ,

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/

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

 , ,

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
()