Por que você está criando um arquivo de objeto? Se você deseja criar um executável, não use a opção -c .
Além disso, de onde você tirou o vam.exe ? Com o comando que você emitiu, você obterá um arquivo de saída chamado vam sem a parte .exe . Você não está trabalhando no Windows, está?
Para obter um executável e executá-lo, você deve fazer
gcc virtualAddressManager.c -o vam
chmod +x vam
./vam