Envoyé par Jean-Marc.Bourguet
Le C et le C++ sont deux langages distincts qui partagent un large sous-ensemble. Celui-ci est fort proche du C, mais il n'empêche que quelqu'un connaissant les deux langages remarquera rapidement si quelque chose a été écrit en C++, en C ou dans le sous-ensemble commun.
En pratique, il est commun d'utiliser des bibliothèques écrites en C en C++. Mais c'est le cas dans d'autres langages aussi. Et les solutions sont alors les mêmes: soit on écrit une couche mince faisant la conversion, et le style de la bibliothèque initiale est toujours sensible quand on l'utilise, soit on écrit une couche plus épaisse, gardant le coeur de la fonctionalité mais fournissant une interface plus adaptée au langage utilisé. En C++, la première solution est particulièrement aisée, il suffit de faire un include a l'intérieur d'un bloc extern "C" (et parfois ce bloc n'est pas nécessaire car les auteurs de la bibliothèque C l'ont prévu). Mais ce n'est pas pour autant qu'elle est fondamentalement différente des langages ou la couche mince doit être écrite a la main ou générée par un programme auxiliaire.