text: Q:
  
  best c compiler on windows for reversing
  
  One of the threads I have discovered in my reading about learning how to reverse engineer is to write "small" c programs compile them and then disassemble them to see how the c code gets translated into assembly.
  I am working on windows 7 64-bit, and have had problems getting visual studio installed. When I select one of the visual studio command prompts the environment never gets set correctly so the compilers are not available.
  So my question is:
  Should I install mingw, mingw-w64, or cygwin to provide the best environment for this kind of testing/learning?
  
  A:
  
  This is a question which leads to a very subjective answer. I would (and have) install MinGW and then use gcc to compile your C code. You don't even need all the Visual Studio bloatware stuff for what you want to accomplish. It'll be as simple as opening your favorite text editor, writing a C program (yes, you can still #include  and use the Win32 API just fine), and running gcc at the command prompt. You can even force a 32 bit binary with -m32, turn off stack canaries with -fno-stack-protector, and etc... If you desire, to practice.
  You will also want to be using gdb galore. gdb also comes with MinGW so you're covered there as well. This method will be incredibly straightforward and easy. Text editor -> save, gcc, run, gdb, repeat. All can be done from the command prompt. This is as easy as you can get on either Linux or Windows.
  For some reason, there is a tendency to believe that you must either use Visual Studio on Windows or switch to Linux. This simply isn't the case and for what you are trying to accomplish, both could be overkill and both will definitely take some time, especially if you've never used either. However, if you are interested in working with or learning a Linux environment, and have no problem setting up a virtual machine, you could install Linux on a VM and then you will already have all the tools you need installed. Linux and C do go hand-in-hand and many programmers prefer Linux for this reason amongst others.
  
  