tag:blogger.com,1999:blog-45053648835163830612024-03-14T00:04:22.301+03:00specialforestIT blogAnonymoushttp://www.blogger.com/profile/01597117801196868841noreply@blogger.comBlogger12125tag:blogger.com,1999:blog-4505364883516383061.post-89896306465600191412012-09-16T22:19:00.001+04:002012-09-16T22:33:54.088+04:00Отладка C/C++ кода на AndroidОтладка привычного, Java кода, не составляет проблемы – все работает из коробки. Но настала пара отладить код, написанный на C/C++. Что же делать? И так, начнем с отладки через gdb. Для этого необходим установленный cygwin. Последовательность действий такова: собираем библиотеку с отладочными символами, используя в Application.mk параметрAPP_OPTIM := debugили собрав с помощьюndk-build NDK_DEBUGAnonymoushttp://www.blogger.com/profile/01597117801196868841noreply@blogger.com0tag:blogger.com,1999:blog-4505364883516383061.post-35055812732215584602012-04-21T17:26:00.001+04:002012-04-21T17:27:26.066+04:00Java Reverse EngineeringНебольшая подборка утилит для “работы” с Java приложениями: JD-GUI – отличный декомпилятор. Выдаёт вполне читаемый java-код. Есть удобная навигация по классам. reJ – декомпилятор и редактор. Умеет декомпилировать в byte-код и редактировать его. JBE – ещё один декомпилятор и редактор byte-кода. jarw – самописная утилита, чтобы работать с jar-файлами под Windows, т.к. файловая система не различаетAnonymoushttp://www.blogger.com/profile/01597117801196868841noreply@blogger.com0tag:blogger.com,1999:blog-4505364883516383061.post-86615759874559565462012-02-12T14:02:00.008+04:002012-02-12T15:27:35.291+04:00Сборка PyPy из исходников под WindowsНа данную тему есть хорошее руководство “PyPy on Windows”, которое послужило для меня отправной точкой. Здесь я опишу некоторые дополнительные детали, которые могут вам пригодиться при сборке c использованием компилятора Microsoft Visual С++. В первую очередь понадобиться свежая версия Python 2.x (обязательно x32-bit) или уже собранный PyPy (рекомендуется для более быстрой сборки). Интересно, чтоAnonymoushttp://www.blogger.com/profile/01597117801196868841noreply@blogger.com0tag:blogger.com,1999:blog-4505364883516383061.post-8288737938885102542011-01-31T23:39:00.006+03:002011-02-02T11:11:58.169+03:00Private inheritance and std::auto_ptrSome time ago I have encountered a problem. When I was writing implementation of an interface class, I forgot to specify inheritance access-specifier, so the private-inheritance is assumed by default. It is illustrated in the following example:class A
{
public:
virtual void Method() = 0;
virtual ~A();
};
class B: /*private*/ A
{
public:
virtual void Method();
Anonymoushttp://www.blogger.com/profile/01597117801196868841noreply@blogger.com0tag:blogger.com,1999:blog-4505364883516383061.post-56750150692005452752010-08-16T23:24:00.000+04:002010-08-16T23:24:09.568+04:00Передавайте параметры по значению или по константной ссылкеВсем известно, что лучше избегать передачу параметров по ссылке, но повторение - мать учения! Последнюю пару недель работал с чужим кодом. Автор пренебрег данным наставлением, и частенько практикует передачу параметров по ссылке. Поломал же я голову над этим кодом, что вылилось в хороший пример. Давайте рассмотрим следующий код:int number = 0;
for (RecordVector::const_iterator it = records.begin(Anonymoushttp://www.blogger.com/profile/01597117801196868841noreply@blogger.com1tag:blogger.com,1999:blog-4505364883516383061.post-9403299650723153362010-07-04T13:42:00.000+04:002010-07-04T13:42:09.689+04:00Qt widget для выбора цветаВыкладываю простенький Qt widget для выбора цвета с дополнительной возможностью задать его строкой как в css. Этот widget я использовал в нескольких рабочих проектах, избавив меня от дублирования кода. Исходники (widget, designer plugin, example) можно взять здесь, а exe-шник здесь.
Anonymoushttp://www.blogger.com/profile/01597117801196868841noreply@blogger.com0tag:blogger.com,1999:blog-4505364883516383061.post-82326290997101264222010-04-14T14:55:00.001+04:002010-04-14T14:55:18.245+04:00Материалы по C++ и ООПC++
C++ Containers Cheatsheet
C++ Iterators and Algorithms
C++ Strings
Bit Twiddling Hacks
Bjarne Stroustrup's homepage
Finding a Loop in a Singly Linked List
C++ FAQ Lite
OOP
OOP Cheatsheet
Design Patterns Cheatsheet (1)
Design Patterns Cheatsheet (2)
UML Cheatsheet
Паттерны проектирования на русском
Вопросы на собеседовании
Заметки Белого Рыцаря - Задачи на собеседованиях
Interview Questions Anonymoushttp://www.blogger.com/profile/01597117801196868841noreply@blogger.com0tag:blogger.com,1999:blog-4505364883516383061.post-69037729023340145762010-02-15T17:14:00.001+03:002010-03-31T16:40:12.126+04:00Знакомство с PythonПятничный вечер, 12 февраля. Засвидетельствованы первые упоминания о языке Python. Сейчас использую Python для неболших прикладных задачек, например, данные из одного формата в другой перегнать, файлики подправить. Несомненно надо его изучить, к тому же мне он понравился. Короче, Use The Source, Luke! Да, пребудет с тобой Сила.Anonymoushttp://www.blogger.com/profile/01597117801196868841noreply@blogger.com0tag:blogger.com,1999:blog-4505364883516383061.post-42333514721863464052010-01-29T22:44:00.001+03:002010-03-31T17:19:13.374+04:00QTranslator, который поддерживает TS-файлыИ снова Qt! Эта запись касается перевода приложений, написанных на Qt, на другие языки.
Стандартная схема выглядит следующим образом. У нас есть текстовый файл перевода в xml-формате, и он имеет расширение ".ts". Затем этот файл компилируется в двоичный формат при помощи утилиты lrelease, и в результате получаем файлик с расширением ".qm". Готовые файлы переводов могут располагаться как отдельноAnonymoushttp://www.blogger.com/profile/01597117801196868841noreply@blogger.com0tag:blogger.com,1999:blog-4505364883516383061.post-34952441847612344862010-01-12T17:12:00.002+03:002010-04-12T17:11:03.134+04:00Пара [не]нужных примочек для Total CommanderТем, кто постоянно пользуется Total Commander может пригодиться.
1. Открытие командной консоли с административными правами в текущем каталоге
Открыть командную консоль просто: достаточно набрать в командной строке cmd или запустить её из меню. А вот открыть её с правами администратора проблемно. Постоянно приходилось делать это через "Пуск", при чём сначала надо открыть меню "Пуск", затем Anonymoushttp://www.blogger.com/profile/01597117801196868841noreply@blogger.com1tag:blogger.com,1999:blog-4505364883516383061.post-25313046655442228292009-12-14T19:24:00.001+03:002010-03-31T17:17:53.983+04:00Qt & Windows 7 TaskbarВсё мы знаем или по крайней мере наслышаны о нововведениях в пользовательском интерфейсе Windows 7. А конкретно о новом task bar. Ну а если ещё нет, то поиск Вам поможет :) Семёрку смотрел ещё, когда она была бетой, и она мне сразу понравилась.
В последнее время я занимаюсь разработкой программ с использованием библиотеки Qt, в частности и под Windows платформу. Естественно мне захотелось Anonymoushttp://www.blogger.com/profile/01597117801196868841noreply@blogger.com0tag:blogger.com,1999:blog-4505364883516383061.post-69114791644116177532009-11-23T19:24:00.001+03:002010-04-12T17:08:18.107+04:00ПриветствиеПривет всем! Я specialforest, и это мой IT-журнал. Живу я в России и работаю разработчиком ПО. Здесь буду писать о всём том, что связано с компьютерами, электроникой, ПО и его разработкой, программированием и т.п. Надеюсь писать буду чем чаще, тем лучше. Буду рад вашим комментарием!Anonymoushttp://www.blogger.com/profile/01597117801196868841noreply@blogger.com1