grinchfox
я просто собираю в отдельном терминале
grinchfox
так проще
ivario
grinchfox
в IDE это полезно только если у тебя make показывает quickfix
ivario
Хотя на деле, к виму я так нормально и не приработался. Вроде все отлично, но чет не то
ivario
Кодблоки как-то привычнее
grinchfox
я поставил vsvim на vstudio
grinchfox
чисто ради горячих клавиш
grinchfox
ну и принципов редактирования с режимами
🦥Alex Fails
Ребят. В итоге знаете, какой косяк был? я вместо struct написал union 😂🙈😄
🦥Alex Fails
Блин, я минуты 3 ржал)
🦥Alex Fails
те примеры, что тут тестили, корректны
🦥Alex Fails
и майндфак тот тоже
🦥Alex Fails
🦥Alex Fails
Охуенно. Код проходит все тесты!
🦥Alex Fails
сука, я счастлив
Ned
товарищи Линуксоиды, подскажите как определить. Программа на c++ мной писаная зависает. Собрать с -g могу, а вот как посмотреть в каком месте она зависает с помощью gdb?
Ned
по шагам выполнять не смогу - прога с железом работает в реальном времени
Ned
то есть надо к зависшему процессу зацепиться и глянуть на каком месте оно встало
🦥Alex Fails
то есть надо к зависшему процессу зацепиться и глянуть на каком месте оно встало
Attaching to other processes
In addition to debugging with core files or programs, gdb can attach to an already running process (who's program has debugging information compiled in) and break into it. This is done by specifying the process ID of the program you wish to attach gdb to instead of the core filename.
(из http://www.ibm.com/developerworks/library/l-gdb/index.html)
🦥Alex Fails
ps -us | grep prog позволит пид узнать (хотя могу ошибаться с параметрами ps)
🦥Alex Fails
а потом в gdb пихаем
Pixie-duster
Ребьят, Cygwin жалуется на отсутствие sys/pctrl.h при компиле под UNIX/POSIX; шо делать?
Pixie-duster
Все портированные пакеты заголовков линукса для стопицот архитектур стоят
Anonymous
Поставить Windows с Bash'ем и попробовать там.
Pixie-duster
О, вариант
Anonymous
Ну попробовать можно, по крайней мере.
Pixie-duster
Но, кажется, не вариант, ибо хедеры и так не совместимы ни с каким придуманным Мелкомягким слоем совместимости
Pixie-duster
Убунта работает, но компилироваться не сможет жи
Anonymous
Полагаете?
Pixie-duster
Весьма уверен, раз у них проблемы со "screen", который вроде как напрямую требует этот заголовок
Pixie-duster
И всякими разнымы бирюльками низкоуровнего межпроцессового взаимодействия
Pixie-duster
Anonymous
http://gnuradio.4.n7.nabble.com/cygwin-compile-of-3-7-8-td55619.html
Anonymous
?
Pixie-duster
https://github.com/AndreyPavlenko/xbmc-addon-iptvsimple
Anonymous
Хрен его знает, в общем.
Pixie-duster
Если кто может скомпилить на i386/Linux, буду очень признателен!
Pixie-duster
Там из доп.пакетов будут libtool и automakeи всякие
Ned
Egor
Egor
сейчас гляну, может смогу тебе последовательность набросать на память или прям из консоли, если неттоп дома включен
Egor
mkdir /opt/xbmc/
cd /opt/xbmc
git clone https://github.com/xbmc/xbmc.git .
git checkout Jarvis
mkdir binaddons
cd binaddons
cmake -DADDONS_TO_BUILD=pvr.iptvsimple -DCMAKE_INSTALL_PREFIX=/usr/local -DPACKAGE_ZIP=1 ../projects/cmake/addons
Dmitry
Коллеги, подскажите пожалуйста. Есть кто-нибудь разбирающийся в RS-232 в Linux?
Кто может посмотреть код и сказать где проблема?
Суть программки простая - по USB-COM подключено устройство, при запуске нужно послать команду на инициализацию, подождать 5 секунд, и потом слать запрос, принимать ответ, парсить его и писать результаты в файл с ротацией. Естественно процесс демонизируется. Формат обмена не строками, а байтами с CRC.
У меня всё работает, но:
1. не обрабатываются события если выдернуть кабель и вставить снова.
2. иногда прога блокируется, судя по gdb лочится ввод-вывод в порт.
Буду признателен если кто-то возьмется или с нуля написать по ТЗ, или отладит мой код (там фарш).
Конечно договоримся о цене.
Dmitry
Да, платформа armv6l
Dmitry
хотя это наверное пофиг
Stanislav
> 1. не обрабатываются события если выдернуть кабель и вставить снова.
если перезапустить софтину все ок?
Dmitry
если перезапустить, то конечно Ок
Stanislav
ну всякое бывает, у нас тут усб повисал на армах
Stanislav
ребут только спасал
Dmitry
нене, если подвисает, то убиваю процесс, запускаю и ок
Dmitry
у меня нет опыта в C/C++, только неделя )). Реализовал как смог, и по моему капец криво.
Dmitry
У меня отправка команды по while(1){..}
Dmitry
а чтение из порта по signal_handler_IO;
Dmitry
мне кажется что оно иногда пересекается и блочится
Dmitry
Хотя порт открываю в асинхронном режиме
Dmitry
и флаги добавил на всякий случай
Stanislav
ну с первой проблемой
Stanislav
ioctl(tty_fd, FIONREAD, &len);
errsv = errno;
if(len == 0)
{
printf("prog_name: zero read from the device: %s.", strerror(errsv));
/* close fd and cleanup or reconnect etc...*/
exit(EXIT_FAILURE);
}
в цикле
Stanislav
там вместо ексита может переинициализацию делать
Dmitry
ок, сейчас как раз поеду на объект, буду колупать дальше. Посмотрю на ioctl
Dmitry
а чтение-запись не лучше делать через select()?
Stanislav
ну тогда синхронный IO будет
Dmitry
так возможно он и нужен. Железка не умеет сама слать данные. Я их запрашиваю
Egor
ioctl же умеет проверять наличие данных, зачем селект? (к тому же селект очень тяжёлая операция)
Dmitry
ну я наличие данных вижу по signal_handler_IO и запускаю функцию чтения и обработки
Dmitry
но понять не могу почему иногда блокируется.
Dmitry
Убегу пока. Машина ждут
Dmitry
ждет
Egor
а для чего тогда селект?
Egor
может я туплю ))
Dmitry
да хз. Я нуб в этом вашем с++. Это я туплю
Dmitry
Еще понять не могу как gdb отловить строку кода, на которой зависает
Dmitry
Аттачу процесс, gdb ругается на отсутствие файла что_то_про_низкоуровневый_док
Dmitry
Лок
Dmitry
Это я так понимаю надо установить сырцы glibc?
Stanislav
гм, а собирал с -g ?