Pull to refresh
  • by relevance
  • by date
  • by rating

новый компилятор в OpenBSD

Software
Translation
По мотивам сообщения osnews.com/story.php/18771/More-on-OpenBSDs-New-Compiler

Несколько недель назад проект OpenBSD объявил о том, что Portable C Compiler был добавлен в дерево исходников OpenBSD. И разработчики будут стараться сделать его полноценной заменой GCC. Почему?
Читать дальше →
Total votes 27: ↑22 and ↓5 +17
Views945
Comments 45

Радио-Т #91

Lumber room
— Удовольствия и разочарования FF3
— Subversion 1.5 наше все
— Наша кухня под атакой читателей одного известного журнала
— Очень зеленый и очень маленький компьютер
— openSUSE 11.0 вышла, а Java открылась
— ZFS ожидается прибытием
— Яндекс разваливает Yahoo
— Mail.ru наносит ответный удар
— GCC захотел странного
— Темы наших слушателей

Желающим послушать послеэфирные записи необходимо пройти тест на IQ

Скажем спасибо xshiriy, файл убран, подробности в комментариях.
Total votes 109: ↑81 and ↓28 +53
Views212
Comments 109

Задачка "Hello World"

C++
Итак, вопрос знатокам: Сколько раз на экране появится заветная фраза при выполнении этой программы?

#include <iostream>
int main(int argc, char* argv[])
{
   int i = 10;
   std::cout<<"Hello World!"<<std::endl;
   // Сколько раз???
   while(i--)
   {
      // Сколько раз будет вызвана эта строка???/
      for(int j=0; j<10; j++)
         std::cout<<"Hello World!"<<std::endl;
   }
   return 0;
}
Читать дальше →
Total votes 129: ↑101 and ↓28 +73
Views5.9K
Comments 183

rethink their coding style…

C++
Выдержка из исходников gcc, файл libcpp/files.c

Copy Source | Copy HTML
  1. /* off_t might have a wider range than ssize_t - in other words,
  2. the max size of a file might be bigger than the address
  3. space. We can't handle a file that large. (Anyone with
  4. a single source file bigger than 2GB needs to rethink
  5. their coding style.) Some systems (e.g. AIX 4.1) define
  6. SSIZE_MAX to be much smaller than the actual range of the
  7. type. Use INTTYPE_MAXIMUM unconditionally to ensure this
  8. does not bite us. */
  9.    if (file->st.st_size > INTTYPE_MAXIMUM (ssize_t))
  10.    {
  11.       cpp_error (pfile, CPP_DL_ERROR, "%s is too large", file->path);
  12.       return false;
  13.    }
  14.  
  15.       size = file->st.st_size;
Total votes 68: ↑63 and ↓5 +58
Views14.2K
Comments 15

Unclesoсky podcast — Выпуск #29

Lumber room
— 7 часов радости
— Вылавливание неисправностей
— gcc/g++ + gedit = счастье
— ЛФК «Феникс» — Reddish?! 3:4
— Футбольная несуразность
— Час в темноте от podстанции
— Простенькая NextGEN Gallery

unclesocky podcast29 / 17.7 Мб / 38:35 / MP3, 64 kbps
Download

Офф. сайт подкаста

RSS подкаста
Total votes 65535: ↑32767.5 and ↓32767.5 0
Views128
Comments 0

Аpt-build. Неработающая оптимизация.

Configuring Linux
Кросспостинг из блога

Опять же не пинать, это просто мысли.

Итак есть такой замечательный проект apt-build. Замечателен он тем, что создан с благой целью, а именно: пересборка бинарных пакетов под машину | архитектуру | процессор | с нужными оптимизациями. В принципе cool!
В чем же развод?

UPD: С помощью сообщества благополучно разобрался в работе apt-build. Оптимизация происходит. Но не совсем явным способом. Под катом детали.

Читать дальше →
Total votes 32: ↑17 and ↓15 +2
Views3.5K
Comments 24

Лямбда выражения теперь и в С++

C++
image
Многие языки программирования позволяют создавать налету локальные не именованные функции внутри выражений. К этим языкам относятся C#3.0, Python, ECMAScript и практически все функциональные языки программирования (например, Haskell и Scheme). Такие функции обычно относят к лямбда функциям, которые имеют широкое применение.
Читать дальше →
Total votes 68: ↑66 and ↓2 +64
Views40.1K
Comments 142

Статический анализ кода C++

C++
Для меня красота C++ заключается, в первую очередь, во вседозволенности и ужасающей мощи языка. Мы можем работать с памятью так же плотно, как и в C, и в то же время имеем такие средства абстракции, как шаблоны и STL, где параметризовать можно что угодно и чем угодно.
Плата за это соответствующая — не всегда вразумительные ошибки компилятора (попробуйте забыть поставить точку с запятой после определения класса), очень большой срок подготовки и обучения программистов, но самое главное — некоторые баги становятся заметными только во время исполнения программы.
Мы хотим больше полезных ворнингов до запуска наших программ. Одно из средств получения желаемого — статический анализ кода. Статический — значит, не запуская программу. Интересны не только вероятные ошибки, случаи undefined behaviour, утечки памяти, но и вещи вроде недоступности/неиспользуемости кода, рекомендации по повышению интуитивности стиля программирования.
Читать дальше →
Total votes 40: ↑38 and ↓2 +36
Views28K
Comments 43

FreeBSD: отчет за четвертый квартал 2009

*nix
На freebsd.org опубликован очередной ежеквартальный отчет о развитии проекта. Отчет состоит из 38 пунктов. Разработчики особенно отмечают выход долгожданной FreeBSD 8.0 и готовящаяся релиз FreeBSD 7.3.

Краткое содержание отчета:

  • BSD-версия утилиты iconv
  • Замена компилятора GCC на CLang
  • Демон webcamd
  • VirtualBox и веб-браузер Chromium появились в дереве портов
  • Портирование фаервола pf из OpenBSD 4.5
  • Поддержка NFSv4 ACL
  • Перевод документации на немецкий, испанский и венгерский
  • Бета-версия видео-драйвера NVIDIA для FreeBSD/ia64


Читать полностью: http://www.freebsd.org/news/status/report-2009-10-2009-12.html
Total votes 17: ↑11 and ↓6 +5
Views596
Comments 23

Привет из свободного от libc мира! (Часть 1)

Programming
Translation
В качестве упражнения я хочу написать программу на С. Достаточно простую для того, чтобы дизассемблировать ее и объяснить весь код самой себе.

Звучит несложно, правильно?

У читателя предполагается наличие опыта компиляции программ и работы в Линуксе. Небольшое умение читать ассемблерный код тоже пригодится.
Читать дальше →
Total votes 138: ↑126 and ↓12 +114
Views24.2K
Comments 61

Поддержка C++0x в Visual Studio 2010

Visual Studio
Тема поддержки нового стандарта C++0x различными компиляторами представляет наибольший интерес, т.к. совсем недавно был опубликован финальный черновик Комитета по стандартизации C++0x — C++0x Final Committee Draft(FCD), а это в свою очередь значит что в ближайшие два года стандарт будет полностью принят. И если сравнивать с предыдущей Visual Studio 2008(VC9), то в ней уже были сделаны пару основных фишек из нового стандарта.
Читать дальше →
Total votes 27: ↑18 and ↓9 +9
Views7K
Comments 10

Собираем gcc из исходников

Lumber room
Набор компиляторов gcc очень бурно развивается и там часто появляются какие-то новые фичи(например, из нового стандарта C++), которые хочется попробовать уже сегодня, а релиза ждать не хочется. Здесь выход один — собирать компилятор из исходников. Здесь я поделюсь своим опытом в этом.
Читать дальше →
Total votes 20: ↑9 and ↓11 -2
Views2.9K
Comments 11

Межпроцессное взаимодействие и Unix Domain Socket

Ангелы АйТи corporate blog
Недавно по работе пришлось решать достаточно интересную задачу.
Нужно было написать приложение — демон, которое записывает мультикаст поток в файл.
При этом необходимо было писать несколько мультикаст потоков параллельно…
Более того… нужно централизованно управлять этими демонами!
Читать дальше
Total votes 17: ↑13 and ↓4 +9
Views1.6K
Comments 8

Сообщения об ошибках + templates: несколько простых советов

Lumber room

Немножко лирики


Должен сразу предупредить, что эта тема вряд ли пригодится программистам, которые дружат с С++ давно и прочно. Моя цель — немного помочь тем, кто при использовании чужих библиотек с большим количеством template'ов впадает в легкую панику при виде сообщений об ошибках. Как показывает практика, зачастую всё совсем не так страшно, как выглядит и вполне помогает понять, в чём проблема.

Идея написать подобную заметку возникла в процессе написания программы, активно использующей Boost::Spirit2 — сложная грамматика, обилие semantic action, создание AST через attribute value и тому подобные радости. В какой-то момент я обратил внимание на то, что для исправления многих ошибок мне хватает одной-двух минут, в то время как в начале работы над проектом в аналогичных случаях на разбор ситуации могло уходить до часа.

Всё написано исходя из работы с gcc, но, думаю, провести аналогию с испольуземым %compiler_name& будет не сложно.

Самое время делиться!
Читать дальше →
Total votes 2: ↑2 and ↓0 +2
Views303
Comments 6

Gcc vs Intel C++ Compiler: собираем FineReader Engine for Linux

ABBYY corporate blog
Предпосылкой к написанию данной статьи было вполне естественное желание улучшить производительность FineReader Engine.

Существует мнение, что компилятор от Intel производит гораздо более быстрый код, чем gcc. И ведь было бы неплохо увеличить скорость распознавания ничего не сделав просто собрав FR Engine другим компилятором.
Что из этого получилось?
Total votes 55: ↑53 and ↓2 +51
Views24.5K
Comments 55

Оптимизация компиляции GCC на примере Gentoo

Programming
Оптимизация сборки — одна из основных прелестей Gentoo, однако все описанное применимо к любому случаю компиляции ПО из исходных кодов. Все параметры сборки в Gentoo задаются в файле make.conf.
По сути нас интересует лишь переменная CFLAGSCXXFLAGS должна быть равна CXXFLAGS="${CFLAGS}", а в MAKEOPTS лишь указывается число параллельно запускаемых процессов компиляции (обычно задают общее число ядер процессоров + 1).
Читать дальше →
Total votes 50: ↑39 and ↓11 +28
Views17K
Comments 28

Сборка Mingw в Windows своими руками

Open source
В сети можно найти много описаний сборки mingw и GNU утилит под ним. Я тоже решил написать свой вариант, так как во-первых он на русском. Во-вторых используются последние стабильные исходники (по состоянию на 27.01.2011). В третьих добавлена оптимизация циклов (graphite loop optimizations). В четвертых я описываю причины выбора тех или иных опций конфигурации исходников. В пятых, чтобы не забыть.
Читать дальше →
Total votes 34: ↑30 and ↓4 +26
Views59.5K
Comments 29