← All posts tagged C

waterlaz
C Вчера полчаса не мог понять, почему a[-i] сегфолтится, но с *(a-i) все в порядке.
Оказалось, все дело в том, что unsigned int i;
//_-
waterlaz
C C++ После оооочень длинного перерыва в использовании C++ сегодня пришлось опять на нем писать (хренов openCV). То ли я делаю все неправильно, то ли еще что, но пишу сильно больше бесполезного кода, чем даже по сравнению с чистым C.
waterlaz
идиоты C Firefox OSS
The general design for cubeb is to make each stream as lightweight as possible, so I've tried to avoid using a thread per stream. The current code will work for now, but longer term we'll want to move this to something where single (or pair) of worker threads handle all of the active streams.

Вместо того, чтобы дать каждому stream'у по thread'у, мы будем городить костыли и подпорки, ведь posix thread — это не достаточно "lightweight".
waterlaz
Skype C OSS Как известно, последние версии скайпа работают только через pulseaudio, а старые не поддерживают новый протокол связи и не работают.
Написал небольшую либу, которая прикидывается pulseaudio, а выводит звук через OSSv4.

github.com

Либа почти наверняка не будет работать с другими приложениями, содержит ошибки и skype может падать. Работает только через 48КГц.

Отзывы приветствуются.
waterlaz
C Есть битовая матрица 64x64, которая представлена как 64 беззнаковых 64-битных целых так, что каждое беззнаковое число — одна строчка матрицы.
Можно ли её как-то быстро транспонировать, чтобы получившаяся матрица была представлена в том же виде, что и исходная?
waterlaz
C программирование Все-таки нельзя людей учить программировать на Си во всяких студиях и эклипсах.
А то получаются люди, которые уже сколько лет пишут программы, но понятия не имеют ни о работе компилятора, ни о работе линкера. И вот когда у них возникают в их студиях элементарные проблемы, они не могут их решить и даже не знают, куда копать, кроме как лазить в дебрях настроек студии, хотя достаточно было бы просто глянуть на команду gcc.
waterlaz
C Решил вспомнить молодость, быстренько набыдлокодил игру реверси на 200 с копейками строчек кода и ИИ с просчетом на 8 ходов вперед и альфа-бета отсечением.
pastebin.com
waterlaz
C threads TLS ? Мне нужно, чтобы у каждого потока была своя переменная. Что для этого можно заюзать легкого? Может быть, есть какой-то изящный хак? Про POSIX TLS знаю, но испытываю перед ним суеверный страх.
waterlaz
C ? это я нихрена не понимаю в сишечке или я таки обречен писать говно типа

struct component_list* components = (struct component_list*)malloc(sizeof(component_list));

?
waterlaz
C пока писал все на хаскеле, занимался наукой. Решил узкое место написать на Си, и вот тебе на. Битики, битики, а вот тут можно сделать побыстрее.... Сижу и пазлы собирают, блин.

ЗЫ кстати, gcc не заменяет 3*x на x+(x<<1) даже при O3