3) It's usually not portable since you have to target specific executables located on specific OSes instead of relying on standard C++.