Dans le but de lire et d'écrire plusieurs messages de tampons de protocole à partir de fichiers utilisant à la fois C et Java, il a Il a été observé que Java fournit un ensemble de fonctions d'E/S "délimitées" à cet effet. Cependant, il reste incertain si C offre des fonctionnalités similaires.
Les fonctions de l'API Java sont :
Comme de la version 3.3.0, Google a résolu ce problème en introduisant les équivalents C suivants dans google/protobuf/util/delimited_message_util.h :
bool writeDelimitedTo( const google::protobuf::MessageLite& message, google::protobuf::io::ZeroCopyOutputStream* rawOutput) { // Code to write delimited messages } bool readDelimitedFrom( google::protobuf::io::ZeroCopyInputStream* rawInput, google::protobuf::MessageLite* message) { // Code to read delimited messages }
Pour ceux qui cherchent à analyser les messages avec préfixe de taille en C sans utiliser la bibliothèque officielle, le format filaire est le suivant suit :
Les implémentations C fournies incluent des optimisations qui manquaient dans d'autres réponses. Ces optimisations garantissent que les fonctions :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!