Saturday, October 25, 2008

Code::Blocks and MinGW


As part of my job, I write embedded software and write a lot of simple console applications to process data. I’m not a GUI kind of guy, and tend to stick with simple portable ANSI “C”. Stuff I can port painlessly between a PC, a workstation, and various embedded microprocessors and DSPs. I’m not an object oriented kind of guy, and you might say I have no “class”. I work close to bare metal, and I want to know where every byte is going. “C” being a universal assembly level language is a complement from someone who’s written and still writes a lot of assembly code. As you can guess, I’m not a software engineer.

I’ve been through every combination of Microsoft and Borland compilers, along with dozens of different and funky microprocessor and DSP compilers. And I’ve paid a lot of money for most of them. I used to use command line tools because I had to, but I’ve been spoiled by integrated editors, debuggers, project, and build tools. Yeah, there is free alternatives like GCC for many processors, but I don’t like having to learn the quirks of yet another command line compiler and linker.

How about having it both ways: Free and friendly. I was looking for more portable applications (ones which don’t need to be installed and can be run from a USB stick on the road), and I came across Code::Blocks (codeblocks.org). A nice middle of the road IDE with a decent editor, debugger, and project organization tools. Better yet, downloadable with the MinGW version of GCC already integrated. Or it will recognize and can your off the shelf Microsoft or Boland tools, if you like.

Best yet, the combination of Code::Blocks and MinGW works great from a stick, without installation on a PC. Good compiler/linker warnings, and it seems to output decent code. For the road, I can now carry my source code with me in an encrypted folder, and can modify and rebuild it on any PC, leaving nothing behind on the host.

Cool, eh?

No comments:

Post a Comment