Développement de pilotes Mac
Question
Je pense à la migration d'un pilote Windows vers OS X. Je commence tout juste à regarder autour de nous pour voir ce qui est disponible et il y a beaucoup d'informations sur l'objectif C et le cacao. On dirait que le langage et le framework cacao sont des API de haut niveau, ai-je raison de supposer cela?
J'ai de fortes compétences en C ++ et je les utilise pour le développement du noyau. Puis-je utiliser les mêmes compétences pour le développement de pilotes Mac (j'imagine que la réponse est oui). Macintosh dispose-t-il d'un type d'application / dev pour la construction de pilotes?
La solution
Le Matériel Apple & amp; La page Pilotes contient de nombreuses informations sur le développement de pilotes Mac. Cela devrait être suffisant pour vous aider à démarrer. Quelques faits saillants:
-
Mise en route > - Parcours pédagogique guidé destiné aux développeurs de matériel et de pilotes qui découvrent Mac OS X.
-
Frameworks > - Références d'API organisées par framework.
Autres conseils
Commencez ici http://developer.apple.com /documentation/Darwin/Conceptual/KernelProgramming/About/About.html
Le développement Mac est généralement effectué à l'aide de Xcode, car il gère divers concepts spécifiques à Mac, tels que les bundles et les frameworks. Vous travaillerez probablement en C pur. Vous n’utiliserez pas Cocoa pour le développement de pilotes, car il s’agit d’un framework orienté application.
Premièrement, le C ++ fonctionne très bien, bien que l’objectif C ne soit pas si difficile à apprendre. Si vous connaissez les pilotes Windows, vous connaissez les éléments essentiels: la gestion de la mémoire est essentielle, le temps est essentiel, etc.
Vous utiliserez probablement l’IOKit. Je suggère de commencer ici pour une bonne introduction, étape par étape, pour que le conducteur travaille.
Il y a quelques choses qui ne semblent pas fonctionner comme elles le disent, et j'essaie de comprendre s'il est vraiment impossible de déboguer un pilote sur une seule machine, mais c'est mieux que la plupart des autres Documentation Apple.