Bonjour à tous,
Je me demandais, est-il possible de coder un noyau en C++ ? On parle beaucoup sur internet d'assembleur et de C, mais pas de C++ ?
Merci !![]()
Bonjour à tous,
Je me demandais, est-il possible de coder un noyau en C++ ? On parle beaucoup sur internet d'assembleur et de C, mais pas de C++ ?
Merci !![]()
Il existe surement des noyaux en C++, mais je ne les connais pas. Linux est codé en C car c'est rapide, donc le noyau est performant, et portable, car le premier compilateur disponible sur une nouvelle plate forme est généralement le C.
Le C++ peut être aussi performant que le C, mais il faut savoir ce qu'on fait, et on a trop tendance à se disperser, a faire des trucs modulaires, et au final le C permet plus de discipline.
Je vois complètement ce que tu veux dire sur la dispersionDonc il vaut mieux privilégier le C. Un noyau peut-il être codé uniquement en C ou il faut y joindre un peu d'ASM ?
ET, dernière question, où peut-on trouver les sources brutes de Linux ? J'ai déjà cherché mais rien de vraiment concret, des dizaines d'onglets ouverts dans le navigateur mais pas vraiment de résultats![]()
Tu as essayé ceci : http://www.kernel.org/ ?
La encore, le C (comme le C++) peut etre aussi rapide que de l'assembleur dans la majorité des cas si tu sais ce que tu fais. Par contre peut etre que pour les drivers il y a certaines fonctions bas niveau qui demandent de l'assemmbleur. Peut etre aussi certaines fonctions très bas niveau du noyau.
Il y a peu être un avantage certains du C dans la compatibilité binaire (mangling, template)?
En outre, il est relativement simple de faire une interface en C (.h) pour des fonctions écrites en ASM (c'est assez sympa à voir pour bien comprendre les appels de fonctions d'ailleurs et les différentes conventions)
Hop, un site spécialisé: http://wiki.osdev.org/C%2B%2B
Blog|FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
Les MP ne sont pas une hotline. Je ne réponds à aucune question technique par le biais de ce média. Et de toutes façons, ma BAL sur dvpz est pleine...
Partager