Hello,
Voici ma situation : Je travaille sur un outil capable d'analyser une trame bus et de l'afficher sous forme de datagramme. Cet outil est destiné à être intégré dans plusieurs logiciels et j'en ai donc fait une bibliothèque que j'ai distribué aux autres équipes. Malheureusement, sur un des projets, les devs sont partis sur une solution où tous les outils sont forcément des exécutables qu'ils lancent en ligne de commande…
Mon problème est que normalement, mon outil attend des données binaires (une trame bus) en entrée. Je me retrouve donc à devoir fournir des données binaires à un exécutable et c'est là que je bloque.
Puisque je suis chargé de développer la version standalone de mon outil, j'avais pensé utiliser un pipe mais, à priori, je ne peux pas, pour d'obscures raisons. Du coup, j'ai pensé à utiliser un fichier temporaire mais se pose la question de sa suppression, notamment en cas d'arrêt brutal des outils (et aussi parce que la dernière fois, j'ai eu le droit à un fichier contenant un memcopy de leurs objets en mémoire et que j'ai dû me battre pour le décoder)
Je pensais aussi à convertir les données binaires en représentation ASCII, mais je ne suis pas fan vu que je ne maîtrise pas le format des données en entrée (rien ne me garantit que demain, les devs ne décident pas de fournir de l'octal plutôt que de l'hexa ou de rajouter des espaces…).
Je suis donc à la recherche d'une méthode efficace pour passer mes données binaires à mon exécutable.
Je précise que je travaille en C++ (avec possibilité de me tourner vers Python si besoin), pour Windows uniquement.
Merci à tous ceux qui prendront le temps de me lire.