在进行Windows Mobile开发时,应该使用哪种语言?C#、C++还是其他语言?为什么其中一种比其他语言更好?
这要看你写什么类型的代码。
通过C#中的P / Invoke可以调用操作系统的本地功能,但是如果需要大量使用,则使用原生的 C++ 可能更容易。您还需要使用C ++来使用某些未被 Compact Framework 包装的硬件。
大多数硬件(GPS、相机等)都可以通过 CF 获得。 如果您使用的是 Win Mobile 6.x 设备,则最好使用 C#。除了硬件外,Pocket Office (POOM) 对象模型也可供 C# 使用,因此您可以与其集成。
值得注意的是,对 Windows Phone 7 的大多数引用都是指托管代码和 Silverlight 的可能性。 在使用 Silverlight 的情况下,您必须使用 C# 进行编码。
除非您的应用程序需要高性能或极度节约内存,否则请使用 C# 或 VB.NET。
Scott
主要取决于任务。
C++ 有以下优缺点:
C#:
根据我的经验,从C#开始会更容易一些,如果紧凑框架提供的API对您来说足够了,那么您就可以了。
另一方面,如果您的项目有些复杂,或者想做一些紧凑框架中没有的事情,您可能需要在C++中创建一个辅助程序库。即使在这种情况下,您也可以在C#中编写主程序,并在C++中编写辅助程序库。
如果直接使用C++进行编程,您可能会受益于其比C#更好的原始性能,这对于制作游戏非常有用。
但是,您也将更多地受到Windows Mobile操作系统的限制,例如每个进程的最大32MB内存限制,或者所有.dll共享相同的地址空间。
因此,最终取决于您计划做什么以及您的经验。