Здравствуйте, гость ( Вход | Регистрация )
Дата поста: | В теме: | За сообщение: | Спасибо сказали: | ||
---|---|---|---|---|---|
16.3.2010, 20:41 | Нужна помощь с алгоритмом... | я думаю, просто от первого элемента строить дерево зависимостей и как-то помечать уже задействованные вершины. как только весь список закончится - множество построенных деревьев и будет искомым. вероятно, можно чуть-чуть оптимальнее что-то придумать, удалять вершины из списка и т.п. - это уже чисто техническая сторона вопроса, но по сравнению с затратами на сравнение файлов это будет ноль ![]() да, кстати, в boost::algorithms в BGL есть алгоритм Connected Components. но тут надо подумать, удобно ли тебе будет под него подстраиваться или быстрее "на коленке" написать. |
ViGOur, | ||
16.3.2010, 20:17 | ошибка при генерации в ANTLRWorks 1.3.1 | дык, под Си оно не намного сложнее. просто пишется чуть менее красиво, но сложного там нет ничего. всё аналогично (у меня в примере проект называется dce и основной файл плюсовый): Раскрывающийся текст
собственно, дерево построено и дальше можно это дерево юзать. например, вот так: Раскрывающийся текст
плюс ещё обрати внимание на передачу параметров между разными декларациями если будешь компилить в одном проекте сишные и cpp-шные файлы. там при передаче параметров важно порядок передачи параметров соблюдать и прописывать, где это необходимо. |
mannyz, | ||
16.3.2010, 10:26 | Сериализация списка указателей в boost | имхо, в такой ситуации лучше бы сделать синглтон, который работает непосредственно с конфигурацией, а в нём реализовать список элементов и сквозные массивы указателей на них (boost::intrusive). ведь конфигурация - это обычно не то, что постоянно меняется и меняется неожиданно из разных мест. городить сериализацию тэмплейтов - дело неблагодарное. а главное - из пушки по воробьям ![]() |
madnessw, | ||
14.3.2010, 17:19 | ошибка при генерации в ANTLRWorks 1.3.1 | похоже, это у тебя его от формата файла тошнит. возможно, редактировал чем-то таким, что наоставляло "хвостов" в конце строк. либо жаба где-то неправильно настроена. я скопировала твои файлы, сохранила их через ANTLR, они проверились и скомпилились без проблем. У меня система Linux Debian, в основном Squeeze, плюс всякие новые экспериментальные пакеты. ANTLR 1.3.1 Жаба: java version "1.6.0_17" Java SE Runtime Environment (build 1.6.0_17-b04) Java HotSpot Server VM (build 14.3-b01, mixed mode) |
mannyz, | ||
12.3.2010, 18:17 | Visual Studio - дебаг-режим работы | если это проблема с хранилищем этих дурацких манифестов и версий библиотек - то админ вряд ли справится. там программист-то башку свернуть может, не то, что админ. у Джеффри Рихтера в его книжке про дотнет была описана структура этого монстрозного изобретения мелкософта. я как-то ради любопытства полистала - но это полная дичь и вручную там лазить невозможно, а специальный интерфейс для работы с этой бедой довольно неудобен и чтобы что-то через него поправить - надо точно знать, что там покривело. |
AD, | ||
1.3.2010, 19:36 | Помогите перевести термины | что знаю, то выделю: bus service - сервис канала - служба шины window decorations - украшений окон - декорации окна Communication capabilities - Возможность связи - Возможности взаимодействия underlying hardware - аппаратная (часть) - {ниже|под}лежащее оборудование Easing curves - Легкие кривые (это точно неправильно) - Упрощение кривых Opacity effect - Эффект непрозрачности - Матовый эффект (это точно неправильно) pending call - задержанный вызов - вызов ожидающий обработку anchor (between...) - привязка (между...) - якорь (между...) transformation matrix - матрица преобразований - матрица преобразования foo are bar - foo является bar - foo - bar - foo - это bar (вообще говоря, это множественное число, так что можно написать "являются") |
Litkevich Yuriy, | ||
25.2.2010, 20:19 | Слушаю прямо сейчас | открыла для себя Shub-Niggurath (не тот, который современный метал, а старый французский авангард). потрясающе. напоминает ранний Univers Zero, но местами агрессивнее. если кто любит мрачный эмбиент и жёсткий экспериментал с классическими инструментами - рекомендую! |
molchanoviv, | ||
8.2.2010, 19:15 | Проблемы линковки приложения в статическом режиме | Один маленький нюансик. Пока что мне никак не удается избавиться от файлов-dll студии. А жаль... Пока никак не удается. Они не очень напрягают, но хотелось бы убрать как-нибудь и их. мне один раз удалось это сделать ![]() ![]() |
AD, | ||
28.12.2009, 17:26 | какой сегодня день | Litkevich Yuriy, | |||
22.12.2009, 10:03 | требуется кросплатформенный счётчик "тиков" | полгода назад тот же вопрос меня мучил. нарыла в какой-то статье реализацию счётчика, маленько переделала под свои нужны. примерно вот так вышло (выкусываю куски кода, ибо весь он сильно объёмный и там не просто счётчики, а отдельный поток с организацией дилеев реализован для моих хардварных нужд):
детали реализации счётчика под венду: это файл для счётчика под венду (идея в замерах по счётчику и периодической синхронизации его с системным временем для устранения набежавшей погрешности). взято хоть убей не помню откуда, возможно, что-то я ещё переделывала потом - уже плохо помню чего там было, но код работает:
P.S. я тут быстро из кода навыдирала кусочков и комменты маленько добавила, могла чего-нить забыть. но в общем, я думаю, идея понятна. |
Litkevich Yuriy, | ||
5.8.2009, 12:24 | сборка буста... | ну, в самом простом случае примерно так:
перед сборкой нужно также запустить bootstrap - он создаст необходимую структуру для сборки. собрать (исходники для сборки bjam поставляются с бустом и находятся в папке ./tools/jam) или скачать готовый bjam нужной версии. соответственно, в строке для bjam надо указать необходимые опции линковки (static/shared), версии для debug или release (либо обе), рабочий каталог для сборки, нужную "потокобезопасность" (слово-то какое на русском языке! ![]() для скорости можно ещё добавить количество одновременно выполняемых задач (если машина многопроцессорная): -jN, где N- количество задач. версия компилятора также указывается. для MSVC можно указать просто msvc либо msvc-X.0, если на машине установлено несколько компиляторов. для gcc указывается gcc, для остальных я так не помню, надо читать доки. это всё есть на сайте буста. однако у буста есть много дополнительных библиотек, включающихся опционально (поддержка regex, mpi, некоторые графические библиотеки), а также есть возможность отключать некоторые модули (я, например, собираю буст без поддержки питона, т.к. я им не пользуюсь). но по деталям надо читать доки на сами библиотеки и либо собирать их отдельно, либо включать необходимые опции в общую строку сборки. да, вроде бы для некоторых библиотек для MSVC там прилагаются готовые 'солюшены' (я не мастер русскоязычного программирования!) для сборки, но я их не пробовала применять, так что советовать не буду. |
AD, Tonal, | ||
12.3.2009, 15:48 | Помогите перевести термины | Цитата Цитата The java style implements its own push button label since Java-contrary to windows-center button contents also when the button has an icon. Как это можно перевести? Спотыкаюсь на выделенных "словах". грамотеи... ![]() "бла-бла-бла жаба - В ОТЛИЧИЕ ОТ ВЕНДЫ - центрирует контент батона когда батон с картинкой" (правда, тут вероятна опечатка - нет флексии s у глагола center. но не факт, что слово java имеет единственное число в английском). вообще, обращайтесь, если что... у меня времени мало, но английский совершенно свободный, что технический, что разговорный. весь текст мне пока некогда читать - работы куча. может, попозже загляну ещё. есть строка: Цитата To make programming more convenient, QSqlDatabase is a value class. не пойму смысл фразы: "is a value class" "это объемный/емкий класс", так? но тогда с началом не бьется: "Чтобы сделать програмирование более удобным" помогите, пожалуйста. "Для более удобного программирования QSqlDatabase является ценным классом." (ну, можно также сказать "важным классом", но подчёркивается именно ценность его как ресурса). Цитата Style Aware Widgets - наиболее точно, наверное будет так "виджеты, поддерживающие стили" Цитата Also, it is an advantage with regards to optimization as we instantiate less objects. "Также является плюсом то, что благодаря оптимизации мы создаём меньше объектов." instantiate - означает создавать конерктный элемент (или представитель) некоей абстрактной единицы данных (например, класса или структуры). |
AD, alex977, Litkevich Yuriy, ViGOur, | ||
6.2.2009, 11:23 | Boost thread - ограниченное количество потоков? | добрый день всем. вот, может, кто сталкивался с подобной проблемой: использую библиотеку thread boost'а для кроссплатформенного программирования. до недавего времени всё было замечательно, но тут возникло одно неприятное открытие: оказалось, что буст почему-то ограничивает возможное количество потоков. а именно: после создания какого-то числа работающих потоков создание очередного потока проваливается с исключением boost::thread_resource_error и до уменьшения количества работающих потоков создание нового потока невозможно (каждый раз выпадает это исключение). причём это максимальное число потоков не зависит от реальных ресурсов системы, либо зависимость мне непонятна. для проверки была написана маленькая программа - генератор потоков. потоки просто создаются, спят какое-то время, потом завершаются. потоки пустые, мелкие - то есть, памяти теоретически должно хватать. при этом задавалось разное время жизни потоков и разное количество потоков. результаты по подсчёту количества потоков всегда одинаковы, независимо от времени жизни каждого потока. это число каким-то загадочным образом зависит от машины, но, по видимому, не зависит от количества свободной памяти процесса и системы. из опытов получилась такая странная картина: дома стоит машина под линюксом, 4 гектара памяти, своп вообще не используется - опытным путём получен предел в 382 потока, на работе машина под вендой, 1 гектар памяти, предел - 2024 потока. увеличение-уменьшение количества других процессов в системе никак не влияет. откуда берутся такие странные цифры? может, есть возможность определить каким-то образом, как распределять ресурсы, чтобы потоков было больше? по работе необходима возможность одновоеменного выполнения очень большого и заранее неопределённого количества потоков в риал-тайме (пул потоков как бы не подходит по замыслу задачи). непонятно, откуда исходит это ограничение и как с ним бороться (если это вообще возможно). |
AD, | ||
![]() |
Текстовая версия | Сейчас: 6.12.2023, 16:42 |