MFC's job is to make C++ code universal on these platforms by wrapping the system dependent code, such as messages, and your applications should port easily among the platforms. In most cases, a Visual C++ application created in the development environment on one of these platforms can be opened in the development environment on another platform and the conversion is done automatically.