Ты можешь сделать:
msg.SerializeToArray(buffer, bufferSize);
Или, если вы действительно позвонили ByteSizeLong()
в сообщении, это будет немного быстрее:
msg.SerializeWithCachedSizesToArray((unsigned char*)buffer);
Вторая форма требует, чтобы вы действительно вызывали ByteSizeLong()
(и ничего не меняли впоследствии), поскольку при этом будут сохранены кэшированные размеры для всех подобъектов.