Был у кого-то успешный опыт получения стека вызовов или отладки C++ кода, написанного для андроида?
Суть такова:
Игра крешится, причём только на андроиде — где-то в коде игры, написанной на cocos2d-x, возникает неправильно проинициализированный словарь, который вызывает срабатывание assert в кокосовском классе CCDictionary.cpp.
Но поскольку я не могу получить стек вызовов, то я не могу понять, какие методы вызываются перед вызовом метода в CCDictionary::setObject.
Решил приобрести себе BeagleBone Black ( http://www.opennet.ru/opennews/art.shtml?num=36767 ) и соорудить из него подвижную платформу для транспортировки алкоголесодержащих жидкостей к месту их злоупотребления. Учитывая стоимость платы в $60 с доставкой в СПб и сроком поставки 3-4 недели - это будет хорошей основой для такой платформы.
В сфере создания подвижных платформ я полный дилетант, поэтому решил, что мне понадобятся шаговые двигатели, которые будут крутить колеса и все. На обеде один мой товарищ подсказал мне, что более выгодными могут быть обычные двигатели, скорость на которых регулируется подаваемым напряжением.
А еще мы оба вспомнили, что бывают роботы-пауки, но каким образом у них двигаются лапы ни один из нас не в курсе.
Господа, подскажите пожалуйста, какие двигатели все же лучше использовать (желательно с указанием конкретных моделей и ссылками на магазины в СПб).
Так же в тред приглашаются специалисты по арахнороботам, которые смогут рассказать о способе конструирования лап.
Сижу пишу на плюсах прогу, решающую газодинамику. Вывод делаю в xml-образные файлы для ParaView. Получается как-то так:
есть пачка переменных (пусть P, V, E)
открываю stringstream, пихаю в него открывающий тег, пробегаю по сетке, закрывающий тег. И так 10 раз. Потом поток уходит в файл.
Собственно, вопрос - это можно сделать более читабельным/компактным? 10 циклов отличаются 1 значением - это имя элемента структуры. Вроде в некоторых языках можно просто передать имя элемента в параметрах функции. Для плюсов такого не видел вроде (в бусте вроде было, но ну его нафиг ради одной фичи).
Понимаю, что в целом можно пихать в разные потоки, но количество переменных на вывод тоже изначально хз какое (сколько нужно - столько будет)
upd: В догонку - какой наиболее быстрый способ записи на хард если каждый цикл выплевывается файл ~ полметра размером?
Есть tcpdump в рамках которого датчик шлет свои измерения по TCP на хост.
Необходимо получить набор пар dt (время от начала дампа) <-> value (значение, отправленное датчиком)
Как это проще всего сделать?
Update: Проблема вот в чем: траффик получен уже после того, когда было установленно сетевое соединение. Т.е. основная задача - научится открывать TCP-сокеты, которые готовы будут получать данные не заморачиваясь на ASC-SYN.
Я надеюсь, что все уже успели насладится возможностью создавать комментарии о пользователях. Для тех кто не в курсе Заметки о пользователях (happy end) и дальше по ссылкам.
Теперь предлагаю обсудить еще одно нововведение, которое может быть полезным для многих: избранные комментарии.
Как это будет работать: у пользователя в профиле появляется галочка «использовать избранные комментарии». Если она выделена - рядом с каждым комментарием появляется звездочка, которую можно зажечь. Список избранных комментариев доступен через профиль пользователя.
Что предлагается обсудить: 1. Как будет выглядеть список комментариев? 2. Важно ли добавлять к комментарию теги/пояснение? 3. Ну и конечно же ждем ваших нужно/ненужно.
P.S. Все интересующиеся могут подписаться на самый длинный тег в сообщении и не пропустить ни одной темы об этом (особенно сбор средств ;-)
А самое замечательное то, что если переименовать файл netmon.cpp в netmon.c и использовать не g++, а gcc, то всё линкуется нормально. В чём могут быть различия в линковке сишного и плюсового файла, которые выливаются в такие последствия?
void open_port(void){
int fd;
if ((fd = open(DEVICE, O_RDWR | O_NOCTTY | O_NDELAY)) == -1){
perror("Unable to open port");
} else {
int n = write(fd, "Humpty Dumpty sat on a wall\r", 28);
if (n < 0){
fputs("write() of 28 bytes failed!\n", stderr);
}
}
close(fd);
}
Как самый простой пример передачи без настроек всяких работает превосходно, а вот со чтением также просто не выходит - примеры в сети кишат «goto»[да и while(1), наверное - не совсем правильно?], а Serial Programming Guide for POSIX Operating Systems даже примеров с read() не содержит (вольные переводы оного содержат не только read(), но и кучу запутывающей информации).
Потому, ежели кто знает как минимумом строчек забрать данные с com-порта, буду признателен за слив информации. Спасибо
В общем есть сервак с 512Мб оперативы, 410Мб из которых уже заняты. Удасться ли поднять на нем git-сервер (внутренние нужды, 4-5 людей кодеров, проекты небольшие) не улетев в своп?
Задача: есть сервер с GPU, нужно, чтобы пользователи логинились на этот сервер удаленно через графический интерфейс и гоняли приложения, требующие opengl. Может ли FreeNX (именно бесплатная версия) удовлетворить эту потребность? Если так, сколько приблизительно сессий сможет адекватно работать одновременно?
Под один из моих домашних проектов мне потребовались очки/шлем «виртуальной реальности».
Под этим я подразумеваю устройство с двумя мониторами для глаз, способное отслеживать повороты головы. Обязательное условие - работа под онтопиком.
Кто нибудь сталкивался с подобными устройствами? Что лучше взять? Насколько проблемно с ними работать?
В идеале я бы хотел получить 2 контекста OpenGL, способных расшарить между собой данные + устройство в /dev из которого я могу получать данные о движении головы.
P.S. Если кто-то хочет попробовать такое устройство создать - готов обсудить детали, в том числе стоимость работ. Такие вопросы лучше всего обсуждать со мной в trex6@jabber.ru
P.P.S. В треде приветствуются обсуждения нужности/ненужности подобных устройств для игр и профессионального ПО.
Последние несколько недель наслаждаюсь Model/View framework из состава Qt.
Там есть все: и доступ к sql-базам данных, и просто создние своих model, и QDataWidgetMapper (позволяет легко создать свой виджет для удобного редактирования конкретного элемента модели), и QProxyModel + QSortFilterProxyModel (позволяют фильтровать данные для view не меняя данных в основной модели), и QSelectionItemModel (позволяет «расшарить» выбор элементов между View). Все круто. Определенно стоит создать цикл статей, который бы подробно описывал использование этого мощного интсрумента, хотя и в официальной документации вопрос раскрыт на должном уровне.
Но тред не совсем об этом. Во всей этой куче приятностей явно не хватает одной очень важной вещи.
Я говорю о QNetworkDataModel и QNetworkView. Можете не искать документацию об этих классах - их не существует. Но они могли бы существовать и выполнять возможность «проброса» данных из модели по сети (TCP/IP). Такие классы помогли бы упростить создание трехзвенных клиентов для баз данных, принесли бы пользу и в других сетевых приложениях, которые используют сеть для передачи данных.
Собственно вопрос. Наверняка не мне первому пришла в голову мысль, что такие классы необходимы, но мне не удалось отыскать в яндексе каких-либо упоминаний о таких проектах. В треде приветствуются ссылки на подобные проекты, описание личного опыта при использовании таких классов. Ну и ваши нужно/ненужно тоже давайте, куда уж без них.
Windows 7 64 bit 55.48% -0.07%
Windows 7 13.83% -0.35%
Windows XP 32 bit 8.97% -0.69%
Windows 8 64 bit 8.89% +0.85%
Windows Vista 64 bit 3.30% +0.02%
Windows Vista 32 bit 2.54% -0.20%
MacOS 10.8.2 64 bit 1.71%-0.17%
MacOS 10.7.5 64 bit 0.74% -0.09%
Windows 8 0.74% +0.02%
Ubuntu 12.10 64 bit 0.71% +0.28%
MacOS 10.6.8 64 bit 0.62% -0.11%
Ubuntu 12.10 0.38% +0.19%
Windows XP 64 bit 0.36% -0.03%
Ubuntu 12.04.2 LTS 64 bit 0.31% +0.31%
Ubuntu 12.04.2 LTS 0.20% +0.20%
Linux Mint 14 Nadia 64 bit 0.17% +0.17%
Linux 64 bit 0.14% +0.14%
Ubuntu 12.04.1 LTS 64 bit 0.11% -0.22%
MacOS 10.7.4 64 bit 0.08% -0.04%
Ubuntu 12.04.1 LTS 0.06% -0.11%
Linux Mint 14 Nadia 0.05% +0.05%
"Arch Linux" 64 bit 0.05% +0.05%
Windows 2003 64 bit 0.04% +0.04%
Linux Mint 13 Maya 64 bit 0.04% +0.04%
MacOS 10.5.8 64 bit 0.04% +0.04%
Debian GNU/Linux 7.0 (wheezy) 64 bit 0.03% +0.03%
Windows 2008 64 bit 0.03% +0.03%
"Fedora release 18 (Spherical Cow)" 64 bit 0.03% +0.03%
"openSUSE 12.2 (x86_64)" 64 bit 0.03% +0.03%
MacOS 10.8.0 64 bit 0.02% +0.02%
Ubuntu Raring Ringtail (development branch) 64 bit 0.02% +0.02%
Linux 0.02% +0.02%
MacOS 10.7.3 64 bit 0.02% +0.02%
Linux Mint 13 Maya 0.02% +0.02%
MacOS 10.7.2 64 bit 0.02% +0.02%
Windows 2008 0.01% +0.01%
"Gentoo Base System release 2.1" 64 bit 0.01% +0.01%
"Fedora release 17 (Beefy Miracle)" 64 bit 0.01% +0.01%
elementary OS Luna 64 bit 0.01% +0.01%
MacOS 10.8.3 64 bit 0.01% +0.01%
MacOS 10.8.1 64 bit 0.01% +0.01%
Ubuntu 12.04 LTS 0.01% +0.01%
Debian GNU/Linux 7.0 (wheezy) 0.01% +0.01%
Ubuntu Raring Ringtail (development branch) 0.01% +0.01%
Ubuntu 12.04 LTS 64 bit 0.01% +0.01%
"Gentoo Base System release 2.2" 64 bit 0.01% +0.01%
"Arch Linux" 0.01% +0.01%
Windows 2003 0.01% +0.01%
"openSUSE 12.2 (i586)" 0.01% +0.01%
У остальных дистрибутивов 0.00%. Добрые люди на реддите посчитали расклад по дистрибутивам:
Windows 94.2%
Mac 3.27%
Ubuntu 1.82%
Mint 0.11%
Arch 0.06%
Debian 0.04%
Fedora 0.04%
OpenSUSE 0.04%
Gentoo 0.02%
ElementaryOS 0.01
Имею рабочую 32-битную систему, в ней меня все устраивает. Но возникла необходимость собирать 64-битные пакеты и формировать для них некоторые бинарные файлы. Для этого хозяйства планирую задействовать виртуализацию (сейчас присматриваюсь к VirtualBox, как к самому простому решению).
Собственно вопрос, позволяет ли VirtualBox (или любой другой способ виртуализации), развернуть виртуальную 64-битную систему при 32-битном хосте? Ну и как это правильно сделать - тоже советуйте.
Производительность роли не играет, ибо компилироваться это барахло будет только пока я на отдыхе/сплю/на работе.
1. Успех Qt во многом благодаря его Meta Object Compiler.
2. 2013 год. В C++ нет зачатков рефлексии. Сериализация выполняется вручную...
3, 4... Приведите сами
А теперь вопрос знатокам: почему, [censored], это так трудно сделать?
Столкнулся с задачей выбора серверного оборудования, но т.к. ранее с серверным железом я дела не имел, решил проконсультироваться тут.
Задача: получение данных от датчиков по LAN, запись данных в БД и рассылка этих данных клиентам. Данных от датчиков не очень много, в среднем 5-6 датчиков, каждый из них работает на 4800-112500 бод, так что с пропускной способностью сети проблем быть не должно.
К оборудованию предъявляются жесткие требования по безотказной работе. Для обеспечения безотказной работы планирую применять 2 сервера в одной стойке, второй начинает работать, если на первом произошел сбой.
Теперь хотелось бы услышать, какой состав оборудования позволит мне решить подобную задачу.
Если у кого-нибудь есть возможность проконсультировать меня по этому вопросу в жаббере - будет совсем круто.
P.S. Линукс тут при том, что на серверах будет крутиться сами знаете что, клиенты будут работать сами знаете на какой ОС и разарботка ведется так же на ОС, которую тут можно называть.
Как сказывается на работе приложения результат обработки утилитой strip и (главное) как это влияет на библиотеки, в особенности если вызвать с параметром --strip-all? Ведь чтобы обратиться к библиотечной функции по имени в ней должны быть экспортируемые символы, так?