Il existe une API propriétaire qui est construite au-dessus de C++. Il utilise donc toutes les fonctionnalités de C++ et possède ses propres API. Il y a des API qui fonctionnent exactement de la même manière que l'API C++ (comme pour malloc il y a Stralloc), ces API sont fournies pour des raisons de performances.Développement d'un outil d'analyse de code source statique pour API propriétaire
Bien qu'il existe de nombreux analyseurs de code statiques disponibles pour C++, nous ne pouvons en utiliser aucun. Il est nécessaire d'avoir un analyseur de code statique qui pourrait être exécuté sur le code avec des API propriétaires.
Je voudrais savoir comment je commence à développer l'analyseur de code. Il peut ne pas avoir besoin d'être très orienté fonctionnalité comme ceux disponibles pour C++. Je veux commencer par des choses de base comme le report de variables inutilisées, les débordements de mémoire tampon, les fuites de mémoire.
Toutes les indications seront appréciées.
[MISE À JOUR] J'ai trouvé la question suivante qui correspond à ce que je cherchais, seule différence: à la place de Java, je m'intéresse aux API propriétaires. Jusqu'à présent, j'ai quelques bonnes réponses, mais j'aimerais vraiment en savoir plus de la part de personnes qui ont vécu un tel développement.
Introduction to Static Analysis
Mais sûrement un tel profileur sera confondu avec des choses comme boost :: bind, signaux, et d'autres constructions qui ajoutent des paradigmes non-impératifs à C++. – EFraim
Comme je l'ai mentionné, il existe des API qui sont utilisées à la place des API C++. Par exemple, au lieu d'utiliser free(), l'API Strfree() est exactement identique à free() mais est utilisée pour des raisons de performances. Donc, tout analyseur C++ normal ne peut pas le reconnaître. – user32262