Protocol Buffers - Google's data interchange format (grpc依赖) https://developers.google.com/protocol-buffers/
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

56 lines
1.5 KiB

# μpb - a small protobuf implementation in C
[![Build Status](https://travis-ci.org/google/upb.svg?branch=master)](https://travis-ci.org/google/upb)
[![Coverage Status](https://img.shields.io/coveralls/google/upb.svg)](https://coveralls.io/r/google/upb?branch=master)
μpb is a small protobuf implementation written in C.
API and ABI are both subject to change! Please do not distribute
as a shared library for this reason (for now at least).
## Building the core libraries
The core libraries are pure C99 and have no dependencies.
$ make
This will create a separate C library for each core library
in `lib/`. They are built separately to help your binaries
slim, so you don't need to link in things you neither want
or need.
Other useful targets:
$ make tests
$ make test
## C and C++ API
The public C/C++ API is defined by all of the .h files in
`upb/` except `.int.h` files (which are internal-only).
## Lua bindings
Lua bindings provide μpb's functionality to Lua programs.
The bindings target Lua 5.1, Lua 5.2, LuaJIT, and (soon) Lua 5.3.
To build the Lua bindings, the Lua libraries must be installed. Once
they are installed, run:
$ make lua
Note that if the Lua headers are not in a standard place, you may
need to pass custom flags:
$ make lua USER_CPPFLAGS=`pkg-config lua5.2 --cflags`
To test the Lua bindings:
$ make testlua
## Contact
8 years ago
Author: Josh Haberman ([jhaberman@gmail.com](mailto:jhaberman@gmail.com),
[haberman@google.com](mailto:haberman@google.com))