Sim, o Visual Studio é de 32 bits. Para produzir o código de 64 bits do seu programa, ele usa o compilador cruzado (mas já existe a versão Beta 2 das ferramentas de 64 bits).
Ele pode usar 3Gb de memória virtual no sistema operacional de 32 bits (quando o SO é carregado com increaseuserva
switch ou /3GB
no WinXP) e 4Gb de memória virtual no sistema operacional de 64 bits. Foi construído com LARGEADDRESSAWARE
flag. Você pode verificar isso usando o utilitário dumpbin com a opção /HEADERS
. Para obter mais informações sobre limites de memória virtual, você pode ler este artigo de Mark Russinovich .