C::B is small, portable and free, so it can be easily packed and copied to my students. In addition, gcc is better than vc in some aspacts. For example: gcc uses msvcrt.dll while vc uses msvcr70.dll or msvcr71.dll. msvcrt.dll is included in all windows version and actually there is basically no differences between these dlls.