Annoying things I learned #1

I’m making a category for this; horrible computer problems I’ve overcome with too much horrible research and investigation.


You can not find the length of an array of strings passed into a function. Pass the length in as a seperate parameter.

Done. Expect more.

C++ Compilation Follow-up

Seems that these last few weeks have been my first major failure to blog consistently. Never mind… I’ll keep trying.

In my last post, I described the compile handler I designed. I’ve made it much more functional, and easier to use, and it now useful on more computers than just my own! Despite adding all of these features, I managed to reduce the program file size by 9%. It is now 492kb.

Note: this isn’t a compiler. You need to Download MinGW to compile. This program just means that you don’t have to manually type…

>C:\Progra~1\MinGW\bin\mingw32-g++.exe -o C:\Users\Me\Documents\HelloWorld.exe C:\Users\Me\Documents\HelloWorld.cpp

…Every time you want to compile.

OK; so I’m releasing it. It’s open source (source is included in the zip folder). I’d appreciate credit if you rewrite or repackage it, or if you distribute it as-is (which you are entitled to do).


Ste’s Compile Handler

I’m not providing support for this, but email me if you want. I hope somebody finds it useful (but if you have an IDE you like, you probably won’t)! :)


C++ Compilation Tool

Just a few days ago, I wrote my new C++ Compilation system for personal use, and I wanted to show it off a little more! Right now, it is highly adapted to my system, but with a little work, I’d like to release it as a more extensible package. Here is how I use it:

OK, this is the useful part of my desktop, with all of the tools in my C++ programing inventory:
SteGriff desktop

I open the C++ folder, and run ‘Make new template’:
SteGriff C++ Folder Structure

… which basically puts a Hello World program on the Desktop. Say I’ve modified it, and am ready to compile and test. I drag it into the BIN folder.
Dragging C++ Source File

Then, from the Desktop, I run the ‘Compile’ program (silicon chip icon), and type in the file name without extension or directory:
Entering compile file name

Hit enter!…
Finished compile

…and as you can see, the binary is made alongside the source file.
Right now, everything is tailored to the directory I use, but I can easily load that from file for public consumption. If the compile had failed – by the way – the text would have gone red, and returned MinGW’s debug information.

I look forward to making this better and suitable for anyone who wants it (probably not many people).


New C++ Guide

A long-ish time ago, I wrote a guide to programming C++ for absolute beginners.

It was very easy to follow, but probably not very good; it was littered with errors and things that I explained away, because I didn’t properly understand them. Today, on Minecraft forums, somebody was talking about their trouble with learning C++, so I went and thoroughly updated the guide, and reuploaded it.


The process led me, strangely, to completely removing my reliance on IDEs for developing C++ code, because I wrote my own equivalent of Linux’s MakeFile program… it’s called “Ste’s Compile Shell”, and is very personalised, but also quite good:…

Now, I have an entirely new folder structure for my C++ stuff, and a new way of writing and compiling code. Basically, I run a program which makes  a template “Hello World” file on my desktop. When I want to compile something, I drag it to a binaries folder – also on the desktop – and run a little icon next to it, simply called “Compile”. Type in the file name, and it sends all the relevant gubbins to MinGW and returns a lovely .exe or debug info.

This means I can now use Notepad++ for everything it should be used for. Hooray.