Salut à tous ! Je recherche actuellement la meilleure méthode pour créer une bibliothèque de programmation orientée objets en C.
Je cherche depuis longtemps, et j'ai lu beaucoup de code dans beaucoup de langage. Au final, je voudrais une implémentation qui ressemble à ce que l'on peut trouver en objective-C, avec les messages, les protocoles, l'héritage unique et surtout les fonctions retain () et release () ... Tout devrait aussi être thread-safe ( En utilisant l'API pthread). Aujourd'hui, j'attends vos idées, sachant que je veux pouvoir accéder aux objets de cette façon: "obj-> vptr-> write (obj, stdout)".
Il serait également souhaitable de pouvoir vérifier l'intégrité des objets, et de fournir un mécanisme privé / public / protégé (Une idée intéressante est la suivante: https://c.developpez.com/cours/regles-programmation- orientee-objet-c /? page = page_2 # LII-G).
Mais mon plus gros problème est de faire l'héritage d'une manière efficace et propre (comme je développe une bibliothèque, il serait souhaitable d'avoir une classe de base (comme NSObject) qui fournit les fonctions obligatoires (retain (), release (), copy (), ...)) ... Je sais que beaucoup vont me dire "passe au C++", ou "utilise des choses existantes", mais je répondrais que je préfère le C aux autres langages, et que j'ai besoin de quelque chose de portable (donc on oublie GObject et tout le tralala), donc merci de m'aider au lieu d'essayer de me convaincre que c'est pas la bonne manière de faire.
Je remercie tout le monde par l'avance !
Partager