Monday, November 06, 2006

stl fstream and macros on vs7

while working with visual studio 2003 / 7, c++, fstream, log files and macros, like the following:

#define LOGMACRO (format_string, ...) log (__FILE__, __LINE__, format_string, __VA_ARGS__)


got some errors:
error C2059: syntax error : '...'
error C2061: syntax error: identifier '_DebugHeapTag'
xdebug(29): _CRTIMP2 void * __cdecl operator new(size_t, const std::_DebugHeapTag_t&, char *, int)
_THROW1(std::bad_alloc); // allocate from the debug CRT heap


the solution was in 4 steps:

1. replacing all stl include files matching the pattern:
#include <string.h>
#include <fstream.h>

with header files without '.h' in their names, ex:
#include <string>
#include <fstream>


2. putting some parantheses around the parameters in the macro def. value, like:
#define LOGMACRO (format_string, ...) log (__FILE__, __LINE__, (format_string), __VA_ARGS__)


3. replacing '...' and '__VA_ARGS__' with a simple parameter. vs7 does not support varargs in macros.
#define LOGMACRO (format_string, args) log (__FILE__, __LINE__, (format_string), (args))


4. putting the fstream include in the last line of stdafx.h, removing from any other location in the source code like below.
#include <fstream>
using namespace std;


In addition to the things described above, here is a nice macro tutorial: http://en.wikipedia.org/wiki/C_preprocessor

Thursday, November 02, 2006

linux command line tips

This is a list of linux commands for common operations.
Here is a list of tar, cpio and rpm command samples.

Monday, September 04, 2006

merge .net assemblies

this is a microsoft tool to merge multiple .net assemblies:
ILMerge

usually there are lots of assemblies in one project and the release looks kind of messy, merging them in to a single file can be very usefull

Thursday, May 25, 2006

cross platform UML design tools

here is a 2005 aug study on existing cross platform UML tools:
http://www.linuxjournal.com/article/8334

discussed tools:
- dia
- poseidon
- magicdraw

Wednesday, April 26, 2006

google summer of code 2006

google summer of code is starting again>
http://code.google.com/summerofcode.html

Friday, March 31, 2006

documenting the code

A few useful links to source code documentation tools:

doxygen quick tutorial
Kings Tools - a set of useful tools for writing and documenting code (incorporates doxygen). Visual Studio .NET only.
DoxyS - an advanced documentation tool - branched from doxygen

more of them:
here

Tuesday, March 14, 2006

english words

tenet - "Anyone insterested in learning UML must be familiar with the underlying tenet of object/oriented problem solving"

Tuesday, February 14, 2006

testing related resources:

theory

"testing reflections" blog
http://www.testingreflections.com/

Bug Tracking Guidelines
http://bug-tracking-guidelines.com/

Bug triage policy
Here

Microsoft's Bouncing Zero Bugs

"Bug Links" blog
http://buglinks.org/



bugtracker software:

BugTracker.NET
http://btnet.sourceforge.net/

Mantis Bug Tracker
http://www.mantisbt.org/

Flyspray
http://flyspray.rocks.cc/

Bugzilla
http://www.bugzilla.org/

trac
http://www.edgewall.com/trac/

AceProject
http://www.aceproject.com/

Open Directory - Bug Tracking Software

Open Source Testing
http://opensourcetesting.org/

Wednesday, February 08, 2006

livavformat and libavcodec

here is a tutorial on using libavcodec (and libavformat)
libavformat does the demux stuff, libavcodec the video and audio codec work.

libavcodec on wiki (implemented codecs and other stuff)

video processing tools

virtual dub:
http://www.virtualdub.org/

nundub (a 'hacked' version of virtual dub):
http://ndub.sourceforge.net/
http://nickyguides.digital-digest.com/nandub.htm

PiTiVi (linux):
http://pitivi.sourceforge.net/

Creative Commons

Creative Commons is a nonprofit organization that offers flexible copyright licenses for creative works.
can be found here

Tuesday, February 07, 2006

gstreamer issues

here is a tutorial how to compile gstreamer on windows

here is the homepage of gstreamer

here is the cvs repository for gstreamer

download glib

the gstreamer's story

here is pitivi, a video playback and editing tool based on gstreamer

Thursday, February 02, 2006

design patterns - collection of resources


link - Design Patterns - The Sacred Elements of the Faith Diagramm

Wednesday, February 01, 2006

STL allocators

Here is a tutorial about writing STL based allocators

SMMP - shared memory processors and code optimization

Here is a CodeProject article about writing code that can use the power of SMMP.

ms windows - memory allocation

Here is the link to microsoft memory allocation related functions.

here are some undocumented functions described in a CodeProject article.
--

here is a memory pool implementation - CodeProject article

Monday, January 30, 2006

wiki software

here is a list of wiki software on wikipedia

c++ typecasting

Here you can find a c++ typecasting tutorial.

It is part of a great c++ programming tutorial - here


for dynamic_casting you need to enable the Run-Time Type Information (RTTI)
in visual studio: project properties - c/c++ - language - Enable Run-Time Type Info

sqlite vs mysql vs postgresql

here is a performance comparision test for sqlite, mysql and postgresql.

can also be found here