编程语言/库如何与硬件通信?

Gri*_*fin 5 c# c++ api programming-languages windows-phone-7

所以我正在研究是否有办法绕过微软为Windows Phone 7设置的XNA/Silverlight锁定,因为我也许可以使用SFML(.net绑定)进行应用程序开发和我来的其他库知道.
我找不到......

现在我想知道为什么Windows手机和其他类似设备不允许使用某些语言和OpenGL等非托管库,特别是因为我刚刚发现平台调用/外部链接/其他双语技术.

为了理解这一点,我想我需要理解语言和机器硬件之间的关系:像OpenGL这样的ac/c ++库如何与屏幕/图形卡通信?

奖金问题: XNA不使用OpenGL/DirectX,它是一个完全独立的图形API吗?

Jas*_*eng 3

操作系统使用相同的API封装所有硬件。在OS内部,是通过硬件io地址来控制的。

OpenGL/DirectX/XNA 封装了所有操作系统的系统 API,为所有程序提供了一个简单、易于使用的接口。

就像下面这样:

Hardware <- HAL <- DirectX / OpenGL <- XNA <- Your Program
Run Code Online (Sandbox Code Playgroud)

希望这有帮助:)

贾森