That's all very nice when you already have the compiler sitting there somewhere in the PATH eagerly waiting to be run.
Up until Visual Studio 2005, there was no express edition. You could dig a cl.exe from specific SDK versions. Now, you need the express edition for the compiler, as the newer SDKs are no longer packed with it. What a terrific turn of events. Although, I agree with the latter: Visual Studio is subject to software (read, security) updates, the SDK isn't.
In short, if you really want to, you can get the compiler for free. But I think it's too much overhead to find out what a calling convention is supposed to do, notwithstanding having to code all possible, interesting or corner-case scenarios.
"What are you talking about?", you say. Well, more often than not, someone is interested in calling conventions not by mere curiosity or for optimization purposes, but to make a foreign interface support library or define foreign structures and functions (foreign as in not managed, or C-native, or machine raw bit twiddling).