5 votes

Comment les langages/librairies de programmation communiquent-ils avec le matériel ?

J'ai donc cherché à savoir s'il existait un moyen de contourner le verrouillage XNA/Silverlight que Microsoft a mis en place pour le Windows Phone 7. Ainsi, je pourrais peut-être utiliser SFML(.net binding) pour le développement d'applications et d'autres bibliothèques que j'ai appris à connaître.
Je n'ai trouvé aucun.....

Maintenant, tout ce que je me demande, c'est pourquoi le Windows phone et d'autres appareils similaires ne permettent pas l'utilisation de certains langages et de bibliothèques non gérées comme OpenGL, d'autant plus que je viens de découvrir le invocation de la plate-forme/liaison externe/autres techniques bilingues.

Pour comprendre cela, je suppose que je dois comprendre la relation entre un langage et le matériel d'une machine : Comment une bibliothèque c/c++ comme OpenGL communique-t-elle avec l'écran/la carte graphique ?

question bonus : XNA n'utilise pas OpenGL/DirectX. S'agit-il d'une API graphique entièrement indépendante ?

3voto

Jason Cheng Points 275

Le système d'exploitation encapsule tout le matériel avec la même API. Dans le système d'exploitation interne, il utilise l'adresse io du matériel pour le contrôler.

Et OpenGL/DirectX/XNA encapsule toute l'API système du système d'exploitation avec une interface simple et facile à utiliser pour tous les programmes qui en dépendent.

Comme ci-dessous :

Hardware <- HAL <- DirectX / OpenGL <- XNA <- Your Program

J'espère que cela vous aidera :)

Jason

3voto

Erik Philips Points 18156

Un pipeline étendu ressemblerait à ceci :

Hardware <- Vendor Drivers <- HAL (Operating System) <- OS Native Methods (DirectX/OpenGL) <- Managed Wrappers (XNA / .Net Frameworks / Java) <- Your Program

Il y a plusieurs raisons différentes pour lesquelles les fournisseurs verrouillent les appareils.

  1. Les appareils verrouillés ont tendance à avoir moins de problèmes techniques, et Verizon etc. ne veut pas réparer les problèmes logiciels d'Apple/Microsoft/Google/Motorola/Blackberry.
  2. Les dispositifs verrouillés peuvent être (pas toujours) plus sûrs parce qu'il y a moins de chances que des tiers écrivent de mauvais pilotes/logiciels.
  3. La conception initiale/actuelle d'OpenGL n'était/est pas destinée à fonctionner sur des plateformes mobiles.
  4. Les appareils verrouillés peuvent générer des revenus supplémentaires pour le fabricant de systèmes d'exploitation, car certains d'entre eux exigent l'achat de logiciels de développement et/ou de licences de développement pour écrire des logiciels.

Je ne suis pas spécialement excité par l'un d'entre eux, mais ils me viennent à l'esprit.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X