#protocol-buffers #config #code-generation #auto-generate
Вопрос:
Protobuf предпочитает компиляцию xxx.proto в исходный код (например, протокол)
кроме библиотеки, просто загружающей xxx.proto во время выполнения (например, DynamicMessage, protobuf-динамический)
Почему больше проектов предпочитают этот путь?
некоторые сравнивают:
- вычисление: компиляция против времени выполнения
- перезагрузка: перекомпиляция-прото перекомпиляция-программа перезапуск против перезагрузки конфигурации
- проверьте синтаксис: компиляция в любое время
- обновление клиента: перестроение-клиент загрузка против загрузки-прото перезагрузка
Ответ №1:
Многие языки программирования не являются языками сценариев, например, C . Для языков такого типа предпочтительно и часто требуется знать, с чем вы имеете дело во время компиляции. Это вместо создания формата класса сообщений во время выполнения. Если вы это сделаете, вам потребуется много проверок типов и доступности, чтобы код работал правильно и согласованно. Теоретически вы могли бы предоставить другой файл прото, и в этом случае код не должен аварийно завершаться.