Una volta scritto, una specifica di protobuf può essere compilata usando protoc
in una varietà di implementazioni in lingue diverse (ad es. python, c ++, go). È fantastico. Ma per compilare quel codice generato, hai bisogno di una libreria di sviluppo protobuf e, se non erro, è richiesto anche un runtime.
Esiste un modo per generare il codice di implementazione in un modo autonomo e in puro linguaggio? Quindi, ad esempio, compilerei la mia implementazione in C ++ e Python, la distribuirò e le persone potrebbero usarla semplicemente usando la libreria standard.
In caso contrario, ci sono framework (simili a protobuf in linea di principio) che, data una specifica, producono un codice di serializzazione che è indipendente e non richiede altre librerie non standard per una determinata lingua?
Questa domanda deriva dal fatto che di recente ho dovuto usare protobuf su diversi sistemi e ognuno aveva una diversa libreria di sviluppo disponibile. La specifica deve essere compilata su ciascun sistema separatamente? Cosa succede se i compilatori hanno versioni diverse?