Difference between revisions of "Windows Resources"
From Simson Garfinkel
Jump to navigationJump to search
m |
|||
Line 3: | Line 3: | ||
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. | 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. | |||
Cryptography on Windows | ; Microsoft VC++ | ||
: Microsoft makes "express" versions of its Basic, C#, C++ and J# compilers available [http://msdn.microsoft.com/vstudio/express/ 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 [http://www.cygwin.com/ 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 [http://msdn.microsoft.com/library/default.asp?url=/library/en-us/seccrypto/security/hashing.asp 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 [http://www.simson.net/ref/winmd5/winmd5.cpp source code] and a [http://www.simson.net/ref/winmd5/winmd5.mak 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. | However, it's usually easier just to include md5.h and md5.c if that's all you need. | ||
[[Category:Resources]] | [[Category:Resources]] |
Revision as of 06:17, 9 August 2010
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.