Compilers Used for Windows Mobile 6.5 Apps

This article provides an overview of the programming languages, compilers, and development environments utilized to build applications for Microsoft Windows Mobile 6.5. It details the specific native and managed compilation tools, including Microsoft Visual C++ and C#, and explains the development toolsets required to target the operating system during its lifecycle.

Native Development: Visual C++

For performance-critical tasks and low-level system access, developers targeted native code using the Microsoft Visual C++ compiler (cl.exe).

  • Architecture Targets: The compiler produced 32-bit machine code targeting ARM-based microprocessors, predominantly using the ARMv4I instruction set architecture.
  • Libraries and APIs: Applications compiled with Visual C++ interfaced directly with the Windows CE Win32 API. Developers also used targeted subsets of the Microsoft Foundation Classes (MFC) and Active Template Library (ATL) included in the platform SDKs.
  • Development Environment: Visual Studio 2005 and Visual Studio 2008 (Standard and Professional editions) contained the native cross-compilers required to build ARM binaries directly from an x86/x64 development workstation.

Managed Development: C# and the .NET Compact Framework

Developers prioritizing rapid application development used managed code languages, primarily C# and Visual Basic .NET.

  • Compilers: Code was compiled using the command-line C# compiler (csc.exe) or the Visual Basic compiler (vbc.exe) configured to target the .NET Compact Framework (.NET CF).
  • Target Runtimes: The compilers emitted Common Intermediate Language (CIL) code that ran on either .NET Compact Framework 2.0 or .NET Compact Framework 3.5, which were optimized subsets of the full desktop .NET Framework designed specifically for resource-constrained devices.
  • Language Versions: Under Visual Studio 2008, developers were generally limited to C# 3.0 language features (with certain limitations, such as restricted LINQ capabilities depending on the specific .NET CF configuration).

IDE and SDK Requirements

Windows Mobile 6.5 development was strictly tied to specific versions of Microsoft's developer stack:

  • Visual Studio 2005 and 2008: These were the official development environments. They included the "Smart Device Project" templates, the required cross-compilers, and deployment bridges to device emulators.
  • Visual Studio 2010 Deprecation: Microsoft dropped support for Windows Mobile and the .NET Compact Framework in Visual Studio 2010, transitioning entirely to Silverlight and XNA for the newly introduced Windows Phone 7.
  • SDKs: Building applications required the Windows Mobile 6 Professional SDK (for touchscreen devices) or Windows Mobile 6 Standard SDK (for non-touch devices), supplemented by the Windows Mobile 6.5 Developer Tool Kit, which supplied the updated header files, libraries, and touch-friendly emulators for version 6.5.