Windows Resources

From Simson Garfinkel
Jump to navigationJump to search

Windows Development

I'm primarily a Unix developer, but some of the code that I maintain has to run on Windows. Here's a list of useful things for other Unix programmers that are put into this position.

MinGW
These days I'm primarily doing my Windows development on a Macintosh computer using mingw as a cross-compiler. For instructions on how to do this download either my bulk_extractor program or afflib and look for the file "make_mingw.sh" in the root directory.
Microsoft VC++
Microsoft makes "express" versions of its Basic, C#, C++ and J# compilers available for free. Presumably this is to compete against cygwin, which lets you compile and run traditional Linux/Unix free software on Windows. (I don't like using cygwin myself, becuase it requires the use of a special Cygwin DLL, it has traditionally had problems with multi-threading, and there have been performance issues in the past. But for many jobs Cygwin is probably just fine.)
Cryptography on Windows
Windows has a built-in CryptoAPI that can perform most cryptographic functions, but the API is completely non-standard. Microsoft posted an example C program to calculate the MD5 hash of a file using the CryptoAPI. Getting this program to actually compile requires that you install the Platform SDK in addition to the C++ compiler. Successfully linking the proram requires information not present on the MSDN web page. I have uploaded the source code and a makefile for Microsoft's NMAKE to this server.

However, it's usually easier just to include md5.h and md5.c if that's all you need.