С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Мой мозг, конечно, уже испорчен ассемблером, но даже без этого сейчас эмуль выглядит как шатающаяся конструкция из спичек, из которой в разные стороны торчит всякий хлам. Что-то находится не на своём месте, что-то на самом деле не нужно. За почти 3 года там столько скопилось...
Быть может, после перетряхивания кода и высвободится столько ресурсов, что можно будет сделать натягивания картинки на Qt-шный виджет. Сейчас меня сильно коробит тот факт, что P4 на 3ГГц с эмулем уже еле справляется.
Все любят гипножабу
Фигня война.
Начни с малого.
1) Раздели сорцы на части. Отдели GUI от Core.
2) Объекты передавай по константной ссылке, с сырыми указателями старайся не работать.
Вполне можно заменить наКод:void splitline(std::string line, std::string* pnam, std::string* pval);
3) Смотри на предмет сторонних библиотек. В том же boost, например, есть много всего, что обычно приходится велосипедить. Та же работа со строками.Код:std::pair<std::string, std::string> split_config_line(const std::string& line);
4) Аккуратнее обращайся с памятью. Видел кучу new, но нет delete. Причем даже в местах работы с Qt, где такое допустимо, необходимые условия (присоединение к родителю) не соблюдаются. Это все утечки. Плюс опять же, есть smart pointers (например стандартный std::auto_ptr), позволяющие избавиться от этой головной боли.
Поддержу пожалуй Vitamin'а, хотя у самого и к STL неприязнь, и, тем более, к бусту - не осилил пока =(
Ну и наверное нелишним будет в свете "Видел кучу new, но нет delete" натравить на эмуль Valgrind, как раз новая версия недавно вышла.
Последний раз редактировалось NovaStorm; 15.11.2011 в 13:37.
Ненадо auto_ptr. Оно сильно плохо с потоками дружит.
2 SAM style: солью сорцы и попробую у себя на ppc g5 ща.
---------- Post added 16.11.2011 at 00:05 ---------- Previous post was 15.11.2011 at 22:19 ----------
Нихрена не запускается. На все попытки орет что "Can't found current romset" не смотря на то что все что надо, там где надо присутствует. За коим-то хреном пытается создать директорию roms в хомяцком .config.
содержимое конфиг директории:
~/.config/samstyle/xpeccy$ ls -R
.:
config.conf config.conf_ roms xpeccy.conf
./roms:
1982.rom glukpen.rom pentagon.rom scorpion.rom trdos503.rom trdos610e.rom
Еще бы посмотреть содержимое [ROMSETS] и [ROMSET] в *.conf. Если последний раз запускалось давно, придется руками секции переносить:
Например, config.confИ xpeccy.confКод:[ROMSETS] name = Pentagon basic128 = pentagon.rom basic48 = pentagon.rom:1 trdos = trdos503.romКод:[ROMSET] gs = gs104.rom current = Pentagon reset = basic128
Все любят гипножабу
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)