In this post listed some issues which I experienced while porting a plugin (.dll) for native C++ application to C++\CLI.
2 × 2 = 11₃
Non-traditional computing
Saturday, February 12, 2011
Monday, November 29, 2010
C++: How to calculate string hash at compile-time
#define HASH_BASE 2166136261 #define HASH_MULT 16777619 #define HASH_ROUND(prev_hash, next_char) \ unsigned((prev_hash ^ next_char) * (next_char ? HASH_MULT : 1)) #define HASH_IMPL(f, s) f(f(f(f( f(f(f(f( HASH_BASE \ , s[0]), s[1]), s[2]), s[3]), s[4]), s[5]), s[6]), s[7]) #define HASH(str) HASH_IMPL(HASH_ROUND, (str "\0\0\0\0" "\0\0\0\0")) // FNV-1a hash unsigned hash(const char* s) { unsigned value = HASH_BASE; for(; *s; ++s) value = (value ^ *s) * HASH_MULT; return value; }
Sunday, November 21, 2010
Windows error reporting in C++
This post describes how to convert GetLastError() result to text message.
Tuesday, November 9, 2010
Building Python in MSVC2010 with static runtime.
This guide will show an incomplete way how to build CPython (3.1.2, but I think it will work for another versions too) in MSVC2010 with static runtime (/MT option).
Friday, September 17, 2010
VMware replay debugging
Или отладка /чужих/ программ без исходников в записи.
Будет рассмотрена отладка с использованием отладчика MS Visual Studio.
Будет рассмотрена отладка с использованием отладчика MS Visual Studio.
Monday, September 13, 2010
Создание патчей для исполняемых файлов
Задача: пропатчить конкретный исполняемый файл некоторым кодом.
Для примера, код будет выполняться до оригинальной точки входа, и вызывать LoadLibrary для всех *.plgn файлов в текущей папке, для добавления в программу пользовательских плагинов.
Инструменты:
Инструменты:
Subscribe to:
Posts (Atom)