четверг, 25 декабря 2008 г.

Christmas VLC

0 коммент.

Разработчики VLC не перестают радовать пользователей. И, вместе с тем, делать свое творение еще более популярным.
Где-то после 16го декабря (линуксоиды сообщают о 19м), иконка VLC в панели задач "оделась" по-новогоднему. По крайней мере, это первое, что бросилось в глаза. Естественное желание - посмотреть в Help->About - было тоже учтено. В общем, выходит, что все иконки vlc, включая полноразмерные, "переоделись". Веселенький такой [Easter] Christmas Egg :)

воскресенье, 14 декабря 2008 г.

Getopt и неGNU

0 коммент.

Многие спрашивают: а где же Getopt в Windows? Ответ прост: там же, где и libc. То есть нету. Портировать libc под Win никто не хочет, и не собирается. И если большинству функций в libc есть альтернативы в MSVC и др., то Getopt альтернативы нет. Разве что boost::program_options, но он не очень-то функционален или удобен.

Так вот, на FTP GNU можно взять исходник GNU hello, в котором будет Getopt, unistd.h и еще кое-что полезное. Getopt там полностью рабочий, а unistd.h идет как заглушка\обертка, но в любом случае полезная для портирования вещь. Эти фрагменты glibc туда включены для обеспечения совместимости с неGNU системами, и предполагается, что пишущие под GPL тоже будут их включать в свои исходники. К сожалению, почти никто так не делает (разве что в Apache был замечен Getopt.c). Иначе портировать было бы гораздо легче.

пятница, 12 декабря 2008 г.

Прикручиваем звук и картинки

0 коммент.
Если в программе предполагается простейшая работа со звуком (Wave) и чтение\модификация\запись нескольких форматов изображений, как это можно сделать?
libao
Маленькая бибиотека для работы с Wave и вывода звука в звуковые устройства. Под линуксом все просто: libao обычно уже стоит в виде динамической библиотеки, и плюс к этому у нее есть плагины для вывода звука через Alsa, OSS и др. Под Win - тоже просто: можно скопилить эту либу как статическую (или динамическую) и написать плагин для вывода звука через WaveOut. Всяких юниксовых библиотек она не требует, и посему компилится без проблем.
ImageMagick
... а именно Magick++, С++-оболочка для ImageMagick. Опять же, в линуксах ImageMagick чаще идет как динамическая либа, а под Win можно пойти двумя путями: либо потребовать установленной ImageMagick DLLs (~20 MB + права админа), либо скопилить ее как статическую либу (тогда размер EXE вырастет на ~3 MB). Для второго варианта, нужно взять ImageMagick-windows.zip (например, здесь ), и немного постучать в бубен. В переносном смысле. Сначала хочется в прямом, но потом, после прочтения инструкции на сайте, это желание пропадает. Так вот: в папке VisualMagick\Configure лежит configure.bat, который компилит configure.exe, который создает configure.sln. Последний надо скомпилить (уже в MSVC 7+), причем только в Release. Потом запустить этот скомпиленный configure.exe, который оказывается визардом, чтобы он создал VisualMagickXX.sln. И вот уже этот Solution можно компилить как угодно.
JPEGlib
Это вариант только для Win-прог малого размера (под линуксом легче будет предыдущий вариант). После некоторого ковыряния, нормально компилится под Win. В качестве статической либы, особого увеличения размера проги не дает, и ничего особенного не требует. К тому же, используется в boost::gil.

пятница, 5 декабря 2008 г.

Задачка по физике

0 коммент.
Космический корабль с двумя космонавтами летит со скоростью V=0,8c (c – скорость света в вакууме). Один из космонавтов медленно поворачивает метровый стержень из положения 1, параллельного направлению движения, в положение 2, перпендикулярное этому направлению. Тогда длина стержня с точки зрения другого космонавта …[как изменится?]
 
Design by BloggerThemes | This template is brought to you by : allblogtools.com